BigQuery 資料的匯入匯出

Pei Lee
4 min readMar 30, 2019

--

BigQuery 是 Google Cloud Platform 中,擔任 Data Warehouse 要角的關聯式資料庫。特色是高效能的運算速度,將傳統 Row Based 的關聯式資料庫,改為 Columns Based,適合用來做 Data Warehouse,不適合用來做需要高頻度新刪修如 Transaction 等的資料庫。使用語法的是 Legacy SQL 以及 Standard SQL。

能匯入的資料源:

1. 本機檔案

2. Google Cloud Storage

3. Google Sheets ( Google Drive )

4. BigQuery Table

能匯出的資料格式:

1. CSV (Google Drive 或本機)

2. JSON (Google Drive 或本機)

3. BigQuery Table

4. Google Sheets

BONUS. Data Studio

上述的選項中,只有 Google Sheets 的操作比較不那麼直覺一點,而且跟其他資料源有一些功能上的差異。另外,Data Studio 雖然不能算是匯出的資料格式,但想順帶一提一下,因此下面只介紹這部分的操作。

匯入 Google Sheets 資料的方式

  1. 取得要匯入的 Google Sheet 的分享連結,大概會長這樣:
https://docs.google.com/spreadsheets/d/[Spreadsheet ID]/edit?usp=sharing

2. 轉成 Google Drive 的分享連結:

https://drive.google.com/open?id=[Spreadsheet ID]

3. 到 BigQuery Create Table 選擇 Drive 並輸入 Google Drive 的分享連結,選擇 Google Sheet:

加上 Table Name 然後讓 BigQuery Auto Detect Schema 就可以點 Create Table了。之後只要在 Google Sheets 上做任何新刪修,都能直接同步在 BigQuery 上。

4. 限制:由於是連外部資料源非原生的 BigQuery Table,因此有以下限制

  • 不能保證資料的一致性(如果在 Query 的途中,資料有任何新刪修的話)。
  • 無法利用到 BigQuery 的效能。
  • 無法 Preview 資料,因為 BigQuery 不會儲存外部資料源的 Metadata。

匯出成 Google Sheets 的方式

在下完 Query 之後的 Query Result 旁有一個 SAVE RESULTS 的按鈕,選擇 Google Sheets 就可以了:

視覺化

剛才 SAVE RESULTS 旁邊有一個 EXPLORE IN DATA STUDIO,點進去就可以直接跳出 Data Studio 的視窗,直接連結 BigQuery 的資料做視覺化,簡單地拖拉點選之後,就能做出像是這樣看每個商品的訂單數及庫存的互動式圖表:

資料來源是 Google 提供的範例資料

以上。

--

--

Pei Lee
Pei Lee

Written by Pei Lee

Data Team Lead @ Retail & E-commerce Industry

No responses yet