[英]Issues streaming data from Pub/Sub into BigQuery using Dataflow and Apache Beam (Python)
[英]Load data from MySQL to BigQuery using Dataflow
我想使用 Cloud Dataflow 將數據從 MySQL 加載到 BigQuery。 任何人都可以分享有關使用 Cloud Dataflow 和 Python 語言將數據從 MySQL 加載到 BigQuery 的文章或工作經驗嗎?
謝謝
您可以使用apache_beam.io.jdbc從 MySQL 數據庫讀取數據,並使用BigQuery I/O在 BigQuery 上寫入數據。
需要 Beam 知識,所以我建議先看一下Apache Beam Programming Guide 。
如果您正在尋找預建的東西,我們有JDBC 到 BigQuery Google 提供的模板,它是開源的( 此處),但它是用 Java 編寫的。
如果您只想將數據從MySQL
復制到BigQuery
,您可以先將MySql
數據導出到Cloud Storage
,然后將此文件加載到BigQuery
表。
我認為在這種情況下不需要使用Dataflow
,因為您沒有復雜的轉換和業務邏輯。 它只對應一個副本。
通過sql
查詢和gcloud
cli 將MySQL
數據導出到Cloud Storage
:
gcloud sql export csv INSTANCE_NAME gs://BUCKET_NAME/FILE_NAME \
--database=DATABASE_NAME \
--offload \
--query=SELECT_QUERY \
--quote="22" \
--escape="5C" \
--fields-terminated-by="2C" \
--lines-terminated-by="0A"
通過gcloud
cli 和bq
將csv
文件加載到BigQuery
表:
bq load \
--source_format=CSV \
mydataset.mytable \
gs://mybucket/mydata.csv \
./myschema.json
./myschema.json
是BigQuery
表架構。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.