如何在 Dataflow 中使用 BigQuery Standard SQL?
How to use BigQuery Standard SQL in Dataflow?
我想 运行 在数据流中使用 BigQuery Standard SQL 进行简单查询,但我找不到启用此选项的位置。我该怎么做?
pipeline.apply(Read.named(metricName + " Read").fromQuery("select * from table1 UNION DISTINCT select * from table2"));
当我尝试 运行 它时,我收到错误消息:
2016-07-20T13:35:22.543Z: Error: (6e0ad847af078af9): Workflow failed. Causes: (fe6c7bcb1a35a057): S01:warehouse_handled_returns Read/DataflowPipelineRunner.BatchBigQueryIONativeRead+ParMultiDo(FormatData)+warehouse_handled_returns Write/DataflowPipelineRunner.BatchBigQueryIOWrite/DataflowPipelineRunner.BatchBigQueryIONativeWrite failed., (7f29f1d9435d27bc): BigQuery execution failed., (7f29f1d9435d2823): Error:
Message: Encountered "" at line 23, column 27.
HTTP Code: 400
Java 的 Dataflow SDK 从版本 1.8.0 开始支持 BigQuery 的标准 SQL 方言。
在 DataFlow 正式支持 BigQuery Standard SQL 之前,一种解决方法是使用以下注释开始查询:
#StandardSQL
这将指示 BigQuery 使用标准 SQL 而不是旧版 SQL
您现在可以将标准 SQL 与 Dataflow 一起使用。
https://cloud.google.com/dataflow/model/bigquery-io
PCollection<TableRow> weatherData = p.apply(
BigQueryIO.Read
.named("ReadYearAndTemp")
.fromQuery("SELECT year, mean_temp FROM `samples.weather_stations`")
.usingStandardSql();
我想 运行 在数据流中使用 BigQuery Standard SQL 进行简单查询,但我找不到启用此选项的位置。我该怎么做?
pipeline.apply(Read.named(metricName + " Read").fromQuery("select * from table1 UNION DISTINCT select * from table2"));
当我尝试 运行 它时,我收到错误消息:
2016-07-20T13:35:22.543Z: Error: (6e0ad847af078af9): Workflow failed. Causes: (fe6c7bcb1a35a057): S01:warehouse_handled_returns Read/DataflowPipelineRunner.BatchBigQueryIONativeRead+ParMultiDo(FormatData)+warehouse_handled_returns Write/DataflowPipelineRunner.BatchBigQueryIOWrite/DataflowPipelineRunner.BatchBigQueryIONativeWrite failed., (7f29f1d9435d27bc): BigQuery execution failed., (7f29f1d9435d2823): Error:
Message: Encountered "" at line 23, column 27.
HTTP Code: 400
Java 的 Dataflow SDK 从版本 1.8.0 开始支持 BigQuery 的标准 SQL 方言。
在 DataFlow 正式支持 BigQuery Standard SQL 之前,一种解决方法是使用以下注释开始查询:
#StandardSQL
这将指示 BigQuery 使用标准 SQL 而不是旧版 SQL
您现在可以将标准 SQL 与 Dataflow 一起使用。
https://cloud.google.com/dataflow/model/bigquery-io
PCollection<TableRow> weatherData = p.apply(
BigQueryIO.Read
.named("ReadYearAndTemp")
.fromQuery("SELECT year, mean_temp FROM `samples.weather_stations`")
.usingStandardSql();