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 时数据流作业失败 - 未找到 JSON 文件
Big Query 作业因“遇到错误字符 (ASCII 0)”而失败。
在 Google Big Query 中使用 bq 命令行执行查询