如何使用 Python BigQuery API 追加到 BigQuery 中的表
Posted
技术标签:
【中文标题】如何使用 Python BigQuery API 追加到 BigQuery 中的表【英文标题】:How to append to a table in BigQuery using Python BigQuery API 【发布时间】:2017-03-08 15:13:39 【问题描述】:我已经能够使用pandas-gbq
package 从 Pandas 数据框追加/创建表。特别是使用to_gbq
method。但是,当我想使用 BigQuery 网页界面检查表格时,我会看到以下消息:
此表在流缓冲区中的记录可能在预览中不可见。
我不是唯一一个要问的人,而且似乎是there's no solution to this yet。
所以我的问题是:
1. 是否有解决上述问题(即数据在Web UI中不可见)的解决方案。
2. 如果 (1) 没有解决方案,还有其他方法可以使用 Python BigQuery API 将数据附加到现有表吗? (注意文档说我可以通过running an asynchronous query 和使用writeDisposition=WRITE_APPEND
来实现这一点,但link that it provides 没有解释如何使用它,我无法解决)。
【问题讨论】:
【参考方案1】:该消息只是一个 UI 通知,它不应阻碍您。
要检查数据,请运行一个简单的查询并查看它是否存在。
要仅读取仍在 Streaming Buffer 中的数据,请使用以下查询:
#standardSQL
SELECT count(1)
FROM `dataset.table` WHERE _PARTITIONTIME is null
【讨论】:
你是对的。我的所有数据都在那里,但如果没有此通知并正常查看数据,那就太好了。有没有办法做到这一点,而不必在表上运行额外的查询? 当预览不适合您时,您需要运行查询。如果您能够重建作品并证明有时预览不起作用的原因,那么您可以提交问题。以上是关于如何使用 Python BigQuery API 追加到 BigQuery 中的表的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 BigQuery Python API 附加查询结果
如何使用 python API 在 bigquery 中创建新视图?
如何使用调用 UDF 的 Python 脚本来使用 BigQuery API
如何使用 Google BigQuery python API 获得超过 100,000 个响应结果?
使用 python 和 BigQuery API 获取 BigQuery 数据集中的表列表
如何使用Appengine和来自API的Python脚本流数据将数据流式传输到Google Cloud BigQuery?