从数据流中查询 BigQuery 的 INFORMATION_SCHEMA.TABLES 会导致错误

Posted

技术标签:

【中文标题】从数据流中查询 BigQuery 的 INFORMATION_SCHEMA.TABLES 会导致错误【英文标题】:Querying BigQuery's INFORMATION_SCHEMA.TABLES from dataflow results in error 【发布时间】:2019-03-18 15:33:21 【问题描述】:

我正在尝试对 INFORMATION_SCHEMA 运行查询,以从数据流中检索有关 bigquery 表的元数据。在下面找到代码和错误。相同的查询在 BQ UI 中运行良好

query=SELECT * EXCEPT(is_typed) FROM `dummy_dataset.INFORMATION_SCHEMA.TABLES`"

p1=p | "create1" >> beam.io.Read(beam.io.BigQuerySource(query=query, use_standard_sql=True))

"errors": [
      
        "message": "Illegal operation on INFORMATION_SCHEMA view: dummy_dataset.INFORMATION_SCHEMA.TABLES",
        "domain": "global",
        "reason": "invalid"
      
    ]

【问题讨论】:

请file a bug 并尽可能提供作业 ID,因为这将包含更多详细信息,以便 BigQuery 的工程团队进行调试。 【参考方案1】:

我能够通过使用运行程序 DataflowRunner 从我的数据集中读取 INFORMATION_SCHEMA.TABLES 视图,但是当我使用 DirectRunner 时,我收到了与您相同的错误消息。因此,就像提到的Elliott 一样,您可以为 BigQuery 团队以及Dataflow team 提交错误。同时,您可以尝试使用DataflowRunner 读取此视图。

希望对你有帮助。

【讨论】:

以上是关于从数据流中查询 BigQuery 的 INFORMATION_SCHEMA.TABLES 会导致错误的主要内容,如果未能解决你的问题,请参考以下文章

从数据流中查询 BigQuery 的 INFORMATION_SCHEMA.TABLES 会导致错误

从 Pubsub 在 BigQuery 中编写查询

可以在 BigQuery 中从不同数据集中查询表

在 Bigquery - 如何从 Firebase 事件表中查询昨天的数据和过去 7 天的数据

Bigquery 命令行工具,用于从文件中读取长查询字符串

从脚本访问 BigQuery 保存的项目查询