前言:
今天進到 [數據分析實作一] Step 2,今天要做的是框起來的地方,我們要把檔案從 Cloud SQL 抽取,並存放到 cloud storage。
先驗知識:
準備材料:
完成 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的執行細節:
- 到 Cloud SQL 頁面找到 Service account (服務帳戶):
- 設置 IAM權限,讓 Cloud SQL有讀寫的權限。
- 開啟 Cloud shell,執行匯出指令:
- 刪除 Cloud SQL,避免本次練習產生額外的費用。