python 使用Dataflow将数据从MySQL加载到BigQuery

ggazkfy8  于 2022-12-02  发布在  Python
关注(0)|答案(2)|浏览(119)

我想使用Cloud Dataflow从MySQL加载数据到BigQuery。任何人都可以分享文章或工作经验,从MySQL加载数据到BigQuery使用云数据流与Python语言?
谢谢你

gg58donl

gg58donl1#

您可以使用apache_beam.io.jdbc读取MySQL数据库,使用BigQuery I/O写入BigQuery。
Beam知识是意料之中的,所以我建议先看看Apache Beam Programming Guide
如果您正在寻找一些预构建的东西,我们有Google提供的JDBC到BigQuery模板,它是开源的(here),但它是用Java编写的。

luaexgnf

luaexgnf2#

如果只想将数据从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和bqcsv文件加载到BigQuery表:

bq load \
  --source_format=CSV \
  mydataset.mytable \
  gs://mybucket/mydata.csv \
  ./myschema.json

./myschema.jsonBigQuery表格纲要。

相关问题