我正面临谷歌数据流作业从BigQuery表读取的问题。
尝试了几个从BigQuery读取的选项,但在两种情况下都没有成功。
在将模板部署到GCP之后触发的第一次运行是成功的,即根据预期从BQ表获取数据。
第二次触发相同的作业,所有下一次运行都没有获取数据,但是如果我使用选项A,则作业成功完成。
然而,如果我尝试使用OptionB,即使用fromQuery,我将从第二次运行开始收到错误(如下所述)。
(请注意,在将这些模板部署到GCP后,我的第一次运行总是成功的
示例代码:(选项A)
p.apply("ReadXXXXTable",BigQueryIO.Read.from(projectId+":"+tableName))
我尝试了其他选项(选项B),即使用fromQuery:
p.apply(BigQueryIO.Read
.named("ReadXXXXX")
.fromQuery("SELECT field1, field2, field3 FROM [" + projectId + ":" + tableName + "] where fieldx='XXX' and datediff(CURRENT_TIMESTAMP(),TIMESTAMP(field3))=0 order by field3 desc"))
如果是选项B,我收到以下错误:
java.io.IOException错误,由com.google.api.client.googleapis.json.GoogleJsonResponseException引起