简体   繁体   English

数据流:从Pubsub RuntimeException导出到Bigquery

[英]Dataflow: Export to Bigquery from Pubsub RuntimeException

I am passing along a regular JSON to bigquery from pubsub via dataflow using the "export to bigquery" feature in pubsub. 我正在使用pubsub中的“导出到bigquery”功能通过数据流将常规JSON从pubsub传递到pubsub。

However it worked for a second, meaning some of the entries go through to bigquery correctly. 但是它工作了一秒钟,这意味着某些条目可以正确地通过bigquery。 But now I am getting errors on the dataflow logs 但是现在我在数据流日志中遇到错误

java.lang.RuntimeException: java.io.IOException: Insert failed: [{"errors":[{"debugInfo":"","location":"_comments","message":"no such field.","reason":"invalid"}],"index":0}] org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.flushRows(StreamingWriteFn.java:131) org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.finishBundle(StreamingWriteFn.java:97) Caused by: java.io.IOException: Insert failed: [{"errors":[{"debugInfo":"","location":"_comments","message":"no such field.","reason":"invalid"}],"index":0}] java.lang.RuntimeException:java.io.IOException:插入失败:[{“ errors”:[{“ debugInfo”:“”,“ location”:“ _ comments”,“ message”:“无此字段。”,“原因“:”无效“}],”索引“:0}] org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.flushRows(StreamingWriteFn.java:131)org.apache.beam.sdk.io。 gcp.bigquery.StreamingWriteFn.finishBundle(StreamingWriteFn.java:97)原因:java.io.IOException:插入失败:[{“错误”:[{“ debugInfo”:“”,“位置”:“ _ comments”,“消息”:“没有这样的字段。”,“原因”:“无效”}],“索引”:0}]

... MANY MANY LINES... ...很多线...

org.apache.beam.sdk.io.gcp.bigquery.BigQueryServicesImpl$DatasetServiceImpl.insertAll(BigQueryServicesImpl.java:811) org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.flushRows(StreamingWriteFn.java:127) org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.finishBundle(StreamingWriteFn.java:97) org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn$DoFnInvoker.invokeFinishBundle(Unknown Source) org.apache.beam.runners.core.SimpleDoFnRunner.finishBundle(SimpleDoFnRunner.java:187) com.google.cloud.dataflow.worker.SimpleParDoFn.finishBundle(SimpleParDoFn.java:407) com.google.cloud.dataflow.worker.util.common.worker.ParDoOperation.finish(ParDoOperation.java:60) com.google.cloud.dataflow.worker.util.common.worker.MapTaskExecutor.execute(MapTaskExecutor.java:76) com.google.cloud.dataflow.worker.StreamingDataflowWorker.process(StreamingDataflowWorker.java:1069) com.google.cloud.dataflow.worker.StreamingDataflowWorker.access$1000(StreamingDataflowWorker.java:133) com.google.cloud.dataflow.wor org.apache.beam.sdk.io.gcp.bigquery.BigQueryServicesImpl $ DatasetServiceImpl.insertAll(BigQueryServicesImpl.java:811)org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.flushRows(StreamingWriteFn.java:127) org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn.finishBundle(StreamingWriteFn.java:97)org.apache.beam.sdk.io.gcp.bigquery.StreamingWriteFn $ DoFnInvoker.invokeFinishBundle(未知来源)org。 .beam.runners.core.SimpleDoFnRunner.finishBundle(SimpleDoFnRunner.java:187)com.google.cloud.dataflow.worker.SimpleParDoFn.finishBundle(SimpleParDoFn.java:407)com.google.cloud.dataflow.worker.util.common .worker.ParDoOperation.finish(ParDoOperation.java:60)com.google.cloud.dataflow.worker.util.common.worker.MapTaskExecutor.execute(MapTaskExecutor.java:76)com.google.cloud.dataflow.worker.StreamingDataflowWorker .process(StreamingDataflowWorker.java:1069)com.google.cloud.dataflow.worker.StreamingDataflowWorker.access $ 1000(StreamingDataflowWorker.java:133)com.google.cloud.dataflow.wor ker.StreamingDataflowWorker$8.run(StreamingDataflowWorker.java:841) java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) java.lang.Thread.run(Thread.java:745) ker.StreamingDataflowWorker $ 8.run(StreamingDataflowWorker.java:841)java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)java.lang .Thread.run(Thread.java:745)

It looks like there is a mismatch between the fields in Pub/Sub and the fields in Big Query. 看起来在Pub / Sub中的字段与Big Query中的字段不匹配。

Check if the name of your fields in both sides are the same. 检查双方字段的名称是否相同。 You can see more info about the Dataflow template in here 您可以在此处查看有关数据流模板的更多信息

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM