Data science - GCP BigQuery 系列

[BQ 16] [數據分析實作一] Step 2: 從 Cloud SQL 傳資料到 Cloud storage

前言:

今天進到 [數據分析實作一] Step 2,今天要做的是框起來的地方,我們要把檔案從 Cloud SQL 抽取,並存放到 cloud storage

先驗知識:

IAM
Service acoount

準備材料:

完成 Day 15
cloud shell

到 Cloud SQL 頁面找到 Service account (服務帳戶):

往下拉可以看到:

我們把這組服務帳戶複製起來,你的cloud SQL 服務帳戶會和我的不一樣

置 IAM權限:

到 IAM 頁面,點選身分與存取權管理,點選授予存取權:

搜尋 GCS,點選 storage 管理員,並建立。

到這裡 Cloud SQL 就能夠讀取和寫入 GCS。

開啟 Cloud shell,執行匯出指令:

先設定 buket_name:

bucket_name='ithome-bq-test'gcloud sql export csv mysql-instance \
gs://$bucket_name/mysql_export/tv_shows_dashboard.csv \
–database=bq_test_db \
–offload \
–query=’SELECT * FROM tv_shows;’

跑完後,可以在 cloud storage 底下看到檔案。

刪除 Cloud SQL:

因為後面不會用到 Cloud SQL了,這裡可以先刪掉避免產生額外的費用。

gcloud sql instances delete mysql-instance

你可能覺得有點奇怪,為什麼這個練習不要直接從 cloud storage就好了,還要很辛苦先建置 cloud SQL,最後還要再刪掉它?

其實是因為我們在模擬實際的情況,通常我們可能會需要先從 Cloud SQL 存取資料,另外,我們一般分析能取用到的資料庫是 clone instance,才不會影響到生產環境。

Summary:

從 Cloud SQL 傳資料到 GCS的執行細節:

  1. 到 Cloud SQL 頁面找到 Service account (服務帳戶):
  2. 設置 IAM權限,讓 Cloud SQL有讀寫的權限。
  3. 開啟 Cloud shell,執行匯出指令:
  4. 刪除 Cloud SQL,避免本次練習產生額外的費用。

Reference:

IAM
Service acoount

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *