文章段落
Google 推出的 BigQuery 支援標準 SQL 語法,分析功能強大外也比 Python 更好上手。這次的 BigQuery 教學將完整介紹使用者介面,圖解如何從零上手 BigQuery,並將分析結果搭配 Looker Studio(原 Google Data Studio)做視覺化的呈現。快跟著 Cloud Ace 專業技術人員的腳步一起學習 BigQuery 吧。
在正式介紹 BigQuery 的常用功能和操作方法前,推薦還不知道 BigQuery 是什麼的讀者先參考《BigQuery 是什麼?大數據時代一定要認識的最強資料分析工具》這篇文章,快速了解 BigQuery 的功能與優勢。而若是第一次使用 BigQuery,請先參考下方的 BigQuery 使用先決條件。
使用 BigQuery 的先決條件(二擇一):
1. 在 Google Cloud 中有已啟用 Billing 的專案環境(定價資料請參考 BigQuery 定價說明)
2. 使用 BigQuery Sandbox,在 Google 提供給個人用戶的免費額度內使用 BigQuery(啟用方式請參考《Enable BigQuery Sandbox》)
BigQuery 教學―使用者介面簡介
BigQuery 頁面分成三大部分:Navigation Menu、Explorer Panel 和 Details Panel,其中 Navigation Menu 又有分析、遷移及管理三大功能區塊。假設我們想查詢並記錄過去一年的碳足跡排放量,就可透過此區塊的功能將碳排放量資料移轉至 BigQuery,並制定查詢(Query)排程等設定,後面我們會再介紹此區塊中的 SQL 工作區常見操作。
而 Explorer Panel 則是用來釘選常用專案與新增資料,當中的搜尋欄位讓我們可針對專案 (Project)、資料集(Dataset)和資料表(Table) 做搜尋。此區塊有兩大特點,第一是使用者如需使用 Google 提供的天氣、地圖、經濟和教育等公開資料,都可從這裡新增。第二是 BigQuery 支援外部數據源的查詢,所以資料即便沒有儲存在 BigQuery 也能被查詢。
另外快速說明一下專案 、資料集和資料表間的關係。Explorer Panel 是依專案分類,一個專案可包含一個以上的資料集,而每個資料集又能包含一個或多個資料表,所以我們點開各專案後,專案、資料集與資料表會呈階層式排列。
最後,Details Panel 顯示的是 Explorer Panel 裡各資料表的 Schema 及相關資訊。點選查詢會出現一個新的 Editor Tab,我們可利用 SQL 語法在此查詢資料,下方的查詢結果區會提供結果的 JSON 檔和查詢時間等詳細資訊。除了查詢資料,在 Details Panel 中我們還可儲存查詢結果、設定查詢結果瀏覽權限、分享已儲存的查詢和設定查詢排程等。而如果想確定資料位置與資料集是否在同個 Region,則可點選更多來對查詢做進一步設定。
BigQuery 教學―建立環境與匯入資料
在使用資料分析工具時,最重要的是必須先要有資料。因此下面會帶大家從頭建立存放資料的資料集與資料表。
建立資料集
在 Explorer Panel 內找到 Project ID 後點選 ⋮ 並選擇「建立資料集」,接著在右側彈出視窗內設定資料集 ID、資料位置和資料表到期時間(非必填),這邊也可設定是否加密該資料集。最後點選「建立資料集」就完成資料集的建立了。
提醒大家,資料集建立後位置就無法更改,因此在建立時務必多注意位置是否正確,不然若建錯位置後續就只能將建立好的資料集刪掉重建了。
建立空白資料表
找到剛剛建立的資料集後點選 ⋮ 並選擇「建立資料表」。來源選擇「空白資料表」,接著設定資料表名稱和結構定義(即設定資料表的 Schema)。結構定義中的「以文字形式編輯」代表切換為原始碼,若有啟用,未來重建資料表時便能直接貼上原始碼,不需重新一欄一欄點選。以上項目設定好後點選「建立資料表」就完成空白資料表的建立了。
上傳 CSV 檔案到新的資料表
除了從零開始建立資料表,BigQuery 也支援使用者以既有資料建立資料表,接下來我們就以 CSV 格式的檔案為範例,帶大家建立第二張資料表。上傳資料時要注意的是,如檔案超過100 MB,為確保傳輸速度與穩定性,建議都先上傳到 Cloud Storage,且 Cloud Storage 與資料集必須在同個 Region 內(確認方式請見「Details Panel 介紹」)。
© 2022 Google
將 CSV 檔上傳至 Cloud Storage 後我們回到 BigQuery 頁面,一樣找到剛剛建立的資料集,點選 ⋮ 並選擇建立資料表,建立資料表來源選擇 Google Cloud Storage(圖1)。點選瀏覽並找到檔案所在位置後,選擇方才上傳的 CSV 檔並按選取。接著回到建立資料表頁面,輸入資料表名稱並點選建立資料表就完成了(圖2、3)。
© 2022 Google
查看資料表相關資訊
知道如何建立資料表後,我們接著看看資料表有哪些內容和可操作的部分。當我們成功將 CSV 檔匯入 BigQuery 後,點選結構定義便能看到該檔案的 Schema(圖1)。如果需添加欄位註解或手動新增 Schema 欄位,則可點選編輯結構定義進行編輯(圖2)。
© 2022 Google
另外,只要點選詳細資料就可以查看資料表大小、建立時間和所在位置等詳細資料(圖1);點選預覽則能看到表格中的資料內容(圖2)。透過以上介紹,相信各位已大致認識 BigQuery 的基本功能,因此下一段我們將正式開始進行資料處理與分析。
© 2022 Google
BigQuery 教學―資料分析與視覺化
執行 SQL 分析語法
首先在 Editor Tab 點選查詢並選擇在新分頁中開啟。在新分頁的查詢欄位中可看到 BigQuery 已經幫我們填入 SQL SELECT 基本語法,而右上方出現語法錯誤的紅色警告,代表我們的 SQL 語法還不完整。
© 2022 Google
因此我們要回到資料表頁面,複製 NICK_NAME 並貼到 SQL 語法內,如此一來警告便會轉成綠色勾勾,系統也會提示這個查詢所需的使用量。點選執行系統便會開始查詢並顯示結果。
© 2022 Google
BigQuery 操作小訣竅:快速貼上欄位名稱
要將欄位名稱貼進 SQL 語法除了手動複製貼上外,還可以透過點選「結構定義」內的欄位,讓 BigQuery 自動幫我們把欄位名稱貼進語法中,減少手動操作的麻煩。
分享分析結果給他人
BigQuery 除了可讓我們查詢資料表,還具備分析結果的分享功能,一起來了解這個功能該如何使用吧。首先在 Editor Tab 點選儲存並選擇儲存檢視表,選擇資料集並設定資料表名稱後點擊儲存。
© 2022 Google
接著在 Explorer Panel 就可看到我們存的儲存檢視表,點選共用後選擇新增主體,將要授與權限的對象加入新增主體欄位,選擇要授予該對象的權限後點擊儲存。如此一來被授與權限的對象就能查看我們儲存的查詢結果了。
© 2022 Google
另外我們也能分享查詢語法。在 Details Panel 點選儲存查詢後設定瀏覽權限,權限分享對象有三種,包含個人、專案(成員)和公開,選擇完成後點選儲存。設定完後 Explorer Panel 就會出現已儲存的查詢,點選共用即可調整瀏覽權限。
© 2022 Google
視覺化分析結果
最後,BigQuery 還能搭配 Looker Studio 將查詢結果以視覺化的圖表呈現,讓使用者能更輕易地解讀分析結果。下面以示範用的訂單資料為例,帶大家建立一份利潤分析圖表。首先進入 Looker Studio 頁面(由於 Looker Studio 不在 GCP 頁面,因此建議將此網站加到書籤內),點選 Blank Report 後選擇 BigQuery。
© 2022 Google
選擇欲分析資料所在的專案、資料集、資料表的位置後點選 Add。但如果我們想限縮查詢日期進而降低成本,就可以先在 BigQuery 執行查詢語法,點選探索資料(EXPLORE DATA)後再以新分頁開啟 Looker Studio 視窗。
© 2022 Google
完成資料串接後,我們只要在 Looker Studio 中點選 Add a chart,就可將 BigQuery 內的資料以折線圖、柱狀圖和圓餅圖等多樣化的圖表呈現。這次我們選擇以柱狀圖來呈現資料分析的結果。
© 2022 Google
圖表的資料相關設定可透過 DATA 欄位調整,其中 Data source 是資料來源。這次的範例是利潤分析,所以 Dimension 選擇 Product_Name;Metric 選擇 Profit;Sort 選擇 Descending,其他欄位維持預設選項就能輕鬆建立分析圖表了。
© 2022 Google
另外 Looker Studio 也能讓我們將製作好的圖表分享給同事們。而分享出去的圖表不會包含工具及編輯欄位,也就是在後台點選 View 進入預覽模式後會看到的樣子。
© 2022 Google
分享方式很簡單,只要點選頂端工具列的 Share 並選擇 Invite people,將要分享的對象加入欄位後選擇權限,接著點選 Send 即可完成分享。
© 2022 Google
此外,我們還能排程派送功能。點選 Schedule email delivery 後選擇對象、開始排程的時間及排程週期,接著點擊 Schedule 即可(圖1)。最後一個實用功能是將報表嵌入網站,在 Looker Studio 頁面點選 File 後選擇 Embed report,複製語法並將語法貼入網站程式碼即可完成嵌入(圖2、3)。
© 2022 Google
以上是 BigQuery 的常用功能介紹,如果想更深入了解 BigQuery 實作可以參考《BigQuery串接Google sheet的初階應用以及 Looker Studio 的視覺化功能介紹》。最後,如果想更了解 GCP 或有技術服務相關需求也都歡迎聯絡我們獲得更進一步的資訊。
▋延伸閱讀:
・BigQuery 是什麼?大數據時代一定要認識的最強資料分析工具
・BigQuery SQL 語法基本操作 part 1
・BigQuery –匯入資料 part 1
・如何透過 Firebase 與 BigQuery 來進行分析
・如何掌握GCP各台主機的成本?利用BigQuery的Label語法教學