Skip to main content

連結至 BigQuery

開始之前

在開始之前,請先了解如何創建資料來源

BigQuery 限制
  • 不支援 View
  • 不支援 BIGNUMERIC (alias to BIGDECIMAL), GEOGRAPHY 等 Type

Step1: 準備服務帳號 (Service Account)#

CannerFlow 使用 服務帳號 (Service Account) 的 Authentication 方式操作 Google Cloud APIs,故需準備 服務帳號 (Service Account)

請參考 Google Cloud Authenticating as a service account > Creating a service account 部分

  1. 到 Google Cloud Create Service Account 頁面
  2. 選擇專案
  3. 開始建立服務帳號 (Service Account),輸入像以下的資訊 connect_bq_sa_step1
  4. 點選繼續,在第二個步驟中,授與 BigQuery 資料檢視者BigQuery 使用者 兩個角色 connect_bq_sa_step2
  5. 跳過第三步驟,點選完成,接著會回到列表畫面,點選剛剛創建的服務帳號 connect_bq_sa_success
  6. 點選 金鑰,點擊 新增金鑰,選擇 JSON 類型 connect_bq_sa_key
  7. 下載後的 JSON 內容會如下 connect_bq_sa_json

Step2: 至 Data Sources 頁面#

請點擊側欄的 Data Sources 至資料來源設定頁面

nav_to_data_source

Step3: 創建資料來源#

點擊右上方的 Create a Data Source,設定以下資訊在彈出表單中

  • Name: 資料庫名稱,供顯示使用,後續可作修改
  • Data Source Type: 資料庫類型,請選擇 BigQuery
  • Project ID: 請填入 GCP 上的 Project ID
  • Parent Project ID: 請填入 GCP 上 Project ID 的 Parent Project ID
  • Dataset ID: 欲連線的 Dataset ID
如何在 GCP BigQuery 上找到 Project ID, Parent Project ID, Dataset ID 等資訊
  1. 在 BigQuery 畫面上,在欲連接的 Dataset 上,在更多選項中點擊 開啟 get_bq_info

  2. 可在資訊中,看到 project_id:dataset_id 這樣的字串,這邊就可取得 Project IDDataset ID,而 Parent Project ID 若當初建置 Project 時沒有特別設定階層,通常跟 Project ID 是一樣的 get_bq_info_2

  • Encoded Credentials: Service Account 的金鑰內容
如何填入 Service Account 的金鑰內容
  1. 點擊該 input 右邊的鉛筆 Icon connect_bq_click_convert
  2. 在跳出的視窗中貼上,Step1 中 JSON 的內容後,點擊 Convert,就可回到表單繼續完成其他欄位的填寫 connect_bq_convert_form_with_json
  • Case Insensitive: 若 Table 名稱及 Column 名稱都為小寫,這樣設定可以勾選,探索 Table Schema 的速度就會更快
  • Explore Timeout: 若資料庫中含有的 Table 數量較大,建議調高此參數,讓 Explore 可執行較久

connect_bq_form

Submit 後,稍後片刻會跳回列表頁面,並可看到 BigQuery 的資料來源在列表中

Step4: 探索資料來源的 Metadata#

BigQuery 的資料來源上點擊 放大鏡 的 Icon,並在下拉選單中可看到 CannerFlow 探索出來的 Table,選擇 Table 後,可看到該 Table 的 Column 資訊

explore_bq

後續使用#

接下來,就可在 Workspace 中選擇資料來源中的 Table,請參考 工作區內 Table 管理