iT邦幫忙

2022 iThome 鐵人賽

DAY 16
2
AI & Data

[GCP BigQuery] - 探索資料倉儲,開啟你的數位轉型之旅系列 第 16

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

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20220930/20152529hA3Sfzk7Ez.png

前言:

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

https://ithelp.ithome.com.tw/upload/images/20220930/20152529sG3y0di8Nz.png

先驗知識:

IAM
Service acoount

準備材料:

完成 Day 15
cloud shell

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

https://ithelp.ithome.com.tw/upload/images/20220930/20152529wK0cKhUYK9.png

往下拉可以看到:

https://ithelp.ithome.com.tw/upload/images/20220930/20152529wLuvGxTjjz.png

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

置 IAM權限:

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

https://ithelp.ithome.com.tw/upload/images/20220930/20152529nhwq4JTnSx.png

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

https://ithelp.ithome.com.tw/upload/images/20220930/20152529pAL8jOF04d.png

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

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

https://ithelp.ithome.com.tw/upload/images/20220930/20152529AjahmSv3oK.png

先設定 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 底下看到檔案。

https://ithelp.ithome.com.tw/upload/images/20220930/201525294V7mct5kDr.png

刪除 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


上一篇
Day 15: [數據分析實作一] Step 1: 建立 Cloud SQL instance,並上傳 CSV
下一篇
Day 17: [數據分析實作一] Step 3: 從 Cloud storage 傳資料到 BigQuery (使用Python client library)
系列文
[GCP BigQuery] - 探索資料倉儲,開啟你的數位轉型之旅30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言