我的阶段:
- 使用python连接到MySql数据库(IDE:Spyder(
- 提取数据并转换数据帧
- 使用python连接到Google Big Query
- 将数据帧写入Google Big Query
我是个初学者。因此,当我想更新数据时,我删除了谷歌大查询中的表,并再次运行python代码。现在我想自动更新数据。使用python可以做到这一点吗?
我建议使用Bigquery Python API。您可以使用pip install google-cloud-bigquery
进行安装。然后你可以
from google.cloud import bigquery
# Connect to Bigquery
client = bigquery.Client(project=your_project_id)
# Pull data to DF
df = client.query('select * from your_dataset.your_table').to_dataframe()
# Write table to Bigquery
job = client.load_table_from_dataframe(df, 'your_dataset.your_table')
# If you want to overwrite an existing table
job_config = bigquery.LoadJobConfig(
write_disposition="WRITE_TRUNCATE",
)
job = client.load_table_from_dataframe(
df, 'your_dataset.your_existing_table', job_config=job_config
)
将数据从关系数据库加载到Bigquery的解决方案之一是通过Apache Beam(作为数据流运行程序或本地运行程序(,具体取决于数据量和用于数据处理的可用基础设施。
- Beam-MYSQL连接器https://pypi.org/project/beam-mysql-connector/
- Apache Beam Python SDK:https://beam.apache.org/documentation/sdks/python/
- 数据流运行程序:https://cloud.google.com/dataflow
- 视频:https://www.youtube.com/watch?v=crKdfh63-OQ