有没有办法使用 BigQuery 视图作为数据流的输入?
Posted
技术标签:
【中文标题】有没有办法使用 BigQuery 视图作为数据流的输入?【英文标题】:Is there a way to use a BigQuery view as an input to dataflow? 【发布时间】:2017-07-11 23:45:15 【问题描述】:我知道数据流可以使用 BigQuery 表(或 BigQuery 表的 SQL 样式查询)作为输入,但是否可以将保存的视图作为数据流的输入?
【问题讨论】:
你试过了吗?您能描述一下您使用的是哪种 Dataflow 客户端/语言吗? 【参考方案1】:是的,您可以在数据流中使用 bigquery 旧视图,但不能使用标准 sql 视图,因为它不受支持。
我的建议是您应该使用BigQuery job 将 bigquery 视图转换为 bigquery 表,然后将其用于数据流。
【讨论】:
嗯,您能详细说明为什么您认为不支持此功能吗?我没有尝试过,但我希望您应该能够通过使用 BigQueryIO.read().fromQuery() 和从视图中选择的简单 SQL 查询来读取视图。 是的,我尝试并发现标准 SQL 视图不起作用 - 但是允许使用以下语法标准 sql。 BigQueryIO.Read .named("ReadYearAndTemp") .fromQuery("SELECT year, mean_temp FROMsamples.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 的这个建议?成功了吗?以上是关于有没有办法使用 BigQuery 视图作为数据流的输入?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法找出谷歌数据工作室仪表板从 BigQuery 消耗了多少数据?