Big Query 作业的 Python 脚本配置需要 sourceUri 值,但没有 sourceUri

Posted

技术标签:

【中文标题】Big Query 作业的 Python 脚本配置需要 sourceUri 值,但没有 sourceUri【英文标题】:The Python script configuration for a Big Query job requires a sourceUri value, but there is no sourceUri 【发布时间】:2015-05-05 17:31:46 【问题描述】:

尝试为 Google BigQuery 作业编写 Python 脚本时。我正在遵循工作configuration properties 中的配置指南。表示需要配置参数configuration.query.tableDefinitions.(key).sourceUris[]。此参数被描述为“指向您在 Google Cloud Storage 中的数据的完全限定 URI”。但是,我提交的查询在 Big Query 中的数据集上运行,而不是在 Cloud Storage 中的数据上运行。我尝试将格式参数留空或将其指向我有其他表的存储位置,但脚本仍然会引发错误。谁能告诉我处理这个问题的正确方法?

【问题讨论】:

【参考方案1】:

configuration.query.tableDefinitions 参数应该是可选的。如果您只查询存储在 BigQuery 表中的数据,那么您应该可以省略整个 tableDefinitions 参数。仅当存在tableDefinitions 对象时才需要sourceUris 参数。

https://cloud.google.com/bigquery/docs/reference/v2/jobs#configuration.query.tableDefinitions

【讨论】:

Danny,我正在尝试将结果输出到表中,因此我需要表定义。这反过来又迫使我想出 uri,这就是我的问题。 如果您尝试将结果输出到表中,您只需指定configuration.query.destinationTable parameter。表定义仅适用于位于 Cloud Storage(例如)而不是 BigQuery 中的源表,并在查询 SQL 中引用,听起来您不需要使用。 啊!知道了。谢谢丹尼。

以上是关于Big Query 作业的 Python 脚本配置需要 sourceUri 值,但没有 sourceUri的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Big Query 中安排每日插入作业 [重复]

写入 Big Query 时数据流作业失败 - 未找到 JSON 文件

Big Query 作业因“遇到错误字符 (ASCII 0)”而失败。

在 Google Big Query 中使用 bq 命令行执行查询

使用 Google Big Query 在 Google App 脚本上超过最大执行时间

如何从 Google App Script 中的文件运行保存的 Big Query 脚本? [关闭]