Python:如何使用 pandas 数据框更新(覆盖)Google BigQuery 表

Posted

技术标签:

【中文标题】Python:如何使用 pandas 数据框更新(覆盖)Google BigQuery 表【英文标题】:Python: How to update (overwrite) Google BigQuery table using pandas dataframe 【发布时间】:2018-05-21 09:20:18 【问题描述】:

到目前为止,我在 Google BigQuery(GBQ) 中有一个表,其中包含近 300 万条记录(行),这些记录是基于每天来自 mysql 数据库的数据创建的。此数据使用 Python pandas 数据框(.to_gbq())插入到 GBQ 表中。

在这个方向上,使用 python 同步从 MySQL 到 GBQ 的更改的最佳方式是什么。

【问题讨论】:

你能添加一些代码吗?请在此处查看如何提出好的问题:***.com/help/how-to-ask 我还没有开发代码,我正在弄清楚我应该从哪里开始,我正在寻找一个不是很详细的通用解决方案。 【参考方案1】:

article 中介绍了几种可能满足您需求的将数据从 MySQL 导入 BigQuery 的不同方法。例如Binlog 复制

这种方法(有时称为变更数据捕获 - CDC)利用 MySQL 的 binlog。 MySQL 的 binlog 保存每个 DELETE、INSERT 和 UPDATE 操作的有序日志,以及数据库执行的数据定义语言 (DDL) 数据。在对 MySQL 数据库的当前状态进行初始转储后,binlog 更改会不断流式传输并加载到 Google BigQuery 中。

似乎正是您要搜索的内容。

【讨论】:

以上是关于Python:如何使用 pandas 数据框更新(覆盖)Google BigQuery 表的主要内容,如果未能解决你的问题,请参考以下文章

使用 python 将 pandas 数据框导入 MS Access 表

如何更新python中熊猫数据框特定列中的所有行?

Python Pandas,尝试更新单元格值

如何使用字符串列表在 Python 3 中搜索 pandas 数据框

如何在 python 中使用 Pandas 数据框顺序创建和保存 csv 文件

如何使用 Python/Pandas 将数据框的其他行合并到当前行