如何使用python自动更新谷歌大查询中的数据



我的阶段:

  • 使用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(作为数据流运行程序或本地运行程序(,具体取决于数据量和用于数据处理的可用基础设施。

  1. Beam-MYSQL连接器https://pypi.org/project/beam-mysql-connector/
  2. Apache Beam Python SDK:https://beam.apache.org/documentation/sdks/python/
  3. 数据流运行程序:https://cloud.google.com/dataflow
  4. 视频:https://www.youtube.com/watch?v=crKdfh63-OQ

最新更新