【问题标题】:Is there a way to use a BigQuery view as an input to dataflow?有没有办法使用 BigQuery 视图作为数据流的输入?
【发布时间】:2017-07-11 23:45:15
【问题描述】:

我知道数据流可以使用 BigQuery 表(或 BigQuery 表的 SQL 样式查询)作为输入,但是否可以将保存的视图作为数据流的输入?

【问题讨论】:

  • 你试过了吗?您能描述一下您使用的是哪种 Dataflow 客户端/语言吗?

标签: google-bigquery google-cloud-dataflow


【解决方案1】:

是的,您可以在数据流中使用 bigquery 旧视图,但不能使用标准 sql 视图,因为它不受支持。

我的建议是您应该使用BigQuery job 将 bigquery 视图转换为 bigquery 表,然后将其用于数据流。

【讨论】:

  • 嗯,您能详细说明为什么您认为不支持此功能吗?我没有尝试过,但我希望您应该能够通过使用 BigQueryIO.read().fromQuery() 和从视图中选择的简单 SQL 查询来读取视图。
  • 是的,我尝试并发现标准 SQL 视图不起作用 - 但是允许使用以下语法标准 sql。 BigQueryIO.Read .named("ReadYearAndTemp") .fromQuery("SELECT year, mean_temp FROM samples.weather_stations") .usingStandardSql();
【解决方案2】:

您可以从 Dataflow 中的 Bigquery 视图中读取数据。试试下面的 Python 代码:

beam.io.Read(
        beam.io.BigQuerySource(use_standard_sql=True,
                               query='SELECT * FROM `project.dataset.view` limit 1000000'))

【讨论】:

  • @helin-shiah 你有没有尝试过@kyle-xiong 的这个建议?成功了吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-14
  • 1970-01-01
  • 2021-05-15
  • 1970-01-01
相关资源
最近更新 更多