我们正在从GBQ读取数据以执行与其他数据源的数据比较,并使用Google数据流来执行此计算。在数据流作业执行过程中,我们遇到了以下错误,GBQ读取步骤没有返回任何数据。当我们手动执行相同的查询时,它会在GBQ Web Console中返回数据。我尝试了几个博客,但找不到任何解决方案。我使用的是2.15光束版本。
PCollection<KV<String, DTO.class>> gbqDtoDetails = pipeline
.apply("read-DTO-from-gbq", BigQueryIO.readTableRows()
.fromQuery(String.format(SQL_QUERY, Integer.parseInt(opts.getNbr())))
.withoutValidation().usingStandardSql())
.apply("Map Table row to DTO", ParDo.of(new TableRowToDTOMapperFn()))
.setCoder(KvCoder
.of(StringUtf8Coder.of(), SerializableCoder.of(DTO.class)));
>
Apache光束版本-2.15。
数据流日志错误2020-07-30(17:08:02)代码409请求失败,由于IOExceptions执行了0次重试,由于un执行了0次重试…代码409请求失败,由于IOExceptions执行了0次重试,由于不成功的状态代码执行了0次重试,HTTP框架表示请求可以重试,(负责重试的调用者):https://www.googleapis.com/bigquery/v2/projects/{project ectId}/job。时间戳2020-07-30T21:08:02.240Z logger org.apache.beam.sdk.扩展.gcp.util.RetryHttpRequest estStaralizer严重性警告工作步骤
read-upc-loc-price-gbq/Read(BigQueryQuerySource)线程25
您应该将with TemplateCom毕业
添加到BigQueryIO. readTableRow()
像这样的东西:
BigQueryIO.readTableRows()
.fromQuery("SELECT ...")
.withoutValidation()
.withTemplateCompatibility()
.usingStandardSql();