1. 簡介
BigQuery 是 Google 提供的全代管數據分析資料庫,而且價格低廉。您可以使用 BigQuery 查詢 TB 規模的資料,不必由資料庫管理員或任何基礎架構管理。BigQuery 使用您熟悉的 SQL 和「即付即用」收費模式,這項服務可讓您專心分析資料,找出有意義的深入分析結果。
在本程式碼研究室中,您將瞭解如何查詢 GitHub 公開資料集,這是 BigQuery 中可用的其中一個公開資料集之一。
課程內容
- 如何使用 BigQuery
- 如何撰寫查詢,以便取得大型資料集的深入分析資訊
軟硬體需求
2. 做好準備
啟用 BigQuery
如果您還沒有 Google 帳戶 (Gmail 或 Google Apps),請先建立帳戶。
- 登入 Google Cloud Platform 控制台 ( console.cloud.google.com),然後前往 BigQuery。您也可以在瀏覽器中輸入下列網址,直接開啟 BigQuery 網頁版 UI。
https://console.cloud.google.com/bigquery
- 接受服務條款。
- 您必須先建立專案,才能使用 BigQuery。請依照提示建立新專案。
選擇專案名稱並記下專案 ID。
專案 ID 是所有 Google Cloud 專案中的專屬名稱。稍後在本程式碼研究室中會稱為 PROJECT_ID
。
本程式碼研究室會使用 BigQuery 資源,但資源仍設有 BigQuery 沙箱限制。不需要建立帳單帳戶。如果您日後想要移除沙箱限制,可以申請 Google Cloud Platform 免費試用版來新增帳單帳戶。
3. 預覽 GitHub 資料
在 BigQuery 網頁版 UI 中開啟 GitHub 資料集。
您可以快速預覽資料,
4. 查詢 GitHub 資料
開啟查詢編輯器。
輸入下列查詢,以在 GitHub 公開資料集中尋找最常見的修訂訊息:
SELECT subject AS subject,
COUNT(*) AS num_duplicates
FROM `bigquery-public-data.github_repos.sample_commits`
GROUP BY subject
ORDER BY num_duplicates DESC
LIMIT 100
由於 GitHub 資料集較大,因此建議使用較小的樣本資料集,同時嘗試節省費用。請使用編輯器下方處理的位元組數估算查詢費用。
按一下「執行」按鈕。
幾秒後,結果會列在下方,指出系統處理的資料量和完成時間。
雖然 sample_commits 資料表是 2.49 GB,但查詢只處理了 35.8 MB。BigQuery 只會處理查詢中資料欄內的位元組數,因此處理的資料量可能會大幅少於資料表大小。有了叢集和分區功能,您就能進一步降低系統處理的資料量。
5. 更多公開資料
現在請嘗試查詢其他資料集,例如另一個公開資料集。
舉例來說,以下查詢會在 Libraries.io 公開資料集中尋找已淘汰或未維護的熱門專案,這些專案仍用做其他專案中的依附元件:
SELECT
name,
dependent_projects_count,
language,
status
FROM
`bigquery-public-data.libraries_io.projects_with_repository_fields`
WHERE status IN ('Deprecated', 'Unmaintained')
ORDER BY dependent_projects_count DESC
LIMIT 100
其他機構也已在 BigQuery 中公開自己的資料。舉例來說,您可以使用 GitHub 的 GH 封存資料集分析 GitHub 上的公開事件,例如提取要求、存放區星號和已解決的問題。Python Software Foundation 的 PyPI 資料集可用於分析 Python 套件的下載要求。
6. 恭喜!
您使用了 BigQuery 和 SQL 查詢 GitHub 公開資料集。您可以查詢 PB 規模的資料集!
涵蓋內容
- 使用 SQL 語法查詢 GitHub 修訂版本記錄
- 編寫查詢,取得大型資料集的深入分析資訊
瞭解詳情
- 透過 Kaggle 的 SQL 簡介瞭解 SQL。
- 瀏覽 BigQuery 說明文件。
- 如要瞭解其他人如何使用 GitHub 資料集,請參閱這篇網誌文章。
- 透過 TIL 使用 BigQuery 探索天氣資料、犯罪資料等豐富內容。
- 瞭解如何使用 BigQuery 指令列工具將資料載入 BigQuery。
- 查看 BigQuery subreddit,瞭解現今其他人如何使用 BigQuery。