在某些情况下,从BigQuery加载或连接数据时,作业上会出现“写被拒绝”错误,即使相同的作业也可以在相同大小的不同表上正常工作。
我添加了详细的错误消息:
java.lang.RuntimeException: java.io.IOException: INTERNAL: Write rejected (writer id not found) when talking to tcp://localhost:12345 at
com.google.common.base.Throwables.propagate(Throwables.java:160) at com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn$2.output(NormalParDoFn.java:232) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn$2.output(NormalParDoFn.java:195) at
com.google.cloud.dataflow.sdk.util.DoFnRunner$DoFnContext.outputWindowedValue(DoFnRunner.java:310) at
com.google.cloud.dataflow.sdk.util.DoFnRunner$DoFnProcessContext.output(DoFnRunner.java:478) at
com.google.cloud.dataflow.sdk.transforms.join.CoGroupByKey$ConstructUnionTableFn.processElement(CoGroupByKey.java:185) Caused by: java.io.IOException: INTERNAL: Write rejected (writer id not found) when talking to tcp://localhost:12345 at
com.google.cloud.dataflow.sdk.runners.worker.ApplianceShuffleWriter.write(Native Method) at
com.google.cloud.dataflow.sdk.runners.worker.ChunkingShuffleEntryWriter.writeChunk(ChunkingShuffleEntryWriter.java:71) at
com.google.cloud.dataflow.sdk.runners.worker.ChunkingShuffleEntryWriter.put(ChunkingShuffleEntryWriter.java:54) at
com.google.cloud.dataflow.sdk.runners.worker.ShuffleSink$ShuffleSinkWriter.add(ShuffleSink.java:227) at
com.google.cloud.dataflow.sdk.runners.worker.ShuffleSink$ShuffleSinkWriter.add(ShuffleSink.java:154) at
com.google.cloud.dataflow.sdk.util.common.worker.WriteOperation.process(WriteOperation.java:90) at
com.google.cloud.dataflow.sdk.util.common.worker.OutputReceiver.process(OutputReceiver.java:147) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn$2.output(NormalParDoFn.java:230) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn$2.output(NormalParDoFn.java:195) at
com.google.cloud.dataflow.sdk.util.DoFnRunner$DoFnContext.outputWindowedValue(DoFnRunner.java:310) at
com.google.cloud.dataflow.sdk.util.DoFnRunner$DoFnProcessContext.output(DoFnRunner.java:478) at
com.google.cloud.dataflow.sdk.transforms.join.CoGroupByKey$ConstructUnionTableFn.processElement(CoGroupByKey.java:185) at
com.google.cloud.dataflow.sdk.util.DoFnRunner.invokeProcessElement(DoFnRunner.java:171) at
com.google.cloud.dataflow.sdk.util.DoFnRunner.processElement(DoFnRunner.java:156) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn.processElement(NormalParDoFn.java:262) at
com.google.cloud.dataflow.sdk.util.common.worker.ParDoOperation.process(ParDoOperation.java:52) at
com.google.cloud.dataflow.sdk.util.common.worker.OutputReceiver.process(OutputReceiver.java:147) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn$2.output(NormalParDoFn.java:230) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn$2.output(NormalParDoFn.java:195) at
com.google.cloud.dataflow.sdk.util.DoFnRunner$DoFnContext.outputWindowedValue(DoFnRunner.java:310) at
com.google.cloud.dataflow.sdk.util.DoFnRunner$DoFnProcessContext.output(DoFnRunner.java:478) at
com.dubsmash.analytics.functions.extracts.ExtractSessionFn.processElement(ExtractSessionFn.java:13) at
com.google.cloud.dataflow.sdk.util.DoFnRunner.invokeProcessElement(DoFnRunner.java:171) at
com.google.cloud.dataflow.sdk.util.DoFnRunner.processElement(DoFnRunner.java:156) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn.processElement(NormalParDoFn.java:262) at
com.google.cloud.dataflow.sdk.util.common.worker.ParDoOperation.process(ParDoOperation.java:52) at
com.google.cloud.dataflow.sdk.util.common.worker.OutputReceiver.process(OutputReceiver.java:147) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn$2.output(NormalParDoFn.java:230) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn$2.output(NormalParDoFn.java:195) at
com.google.cloud.dataflow.sdk.util.DoFnRunner$DoFnContext.outputWindowedValue(DoFnRunner.java:310) at
com.google.cloud.dataflow.sdk.util.DoFnRunner$DoFnProcessContext.output(DoFnRunner.java:478) at
com.google.cloud.dataflow.sdk.transforms.Keys$1.processElement(Keys.java:65) at
com.google.cloud.dataflow.sdk.util.DoFnRunner.invokeProcessElement(DoFnRunner.java:171) at
com.google.cloud.dataflow.sdk.util.DoFnRunner.processElement(DoFnRunner.java:156) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn.processElement(NormalParDoFn.java:262) at
com.google.cloud.dataflow.sdk.util.common.worker.ParDoOperation.process(ParDoOperation.java:52) at
com.google.cloud.dataflow.sdk.util.common.worker.OutputReceiver.process(OutputReceiver.java:147) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn$2.output(NormalParDoFn.java:230) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn$2.output(NormalParDoFn.java:195) at
com.google.cloud.dataflow.sdk.util.DoFnRunner$DoFnContext.outputWindowedValue(DoFnRunner.java:310) at
com.google.cloud.dataflow.sdk.util.DoFnRunner$DoFnProcessContext.output(DoFnRunner.java:478) at
com.google.cloud.dataflow.sdk.runners.worker.CombineValuesFn$ExtractOutputDoFn.processElement(CombineValuesFn.java:223) at
com.google.cloud.dataflow.sdk.util.DoFnRunner.invokeProcessElement(DoFnRunner.java:171) at
com.google.cloud.dataflow.sdk.util.DoFnRunner.processElement(DoFnRunner.java:156) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn.processElement(NormalParDoFn.java:262) at
com.google.cloud.dataflow.sdk.util.common.worker.ParDoOperation.process(ParDoOperation.java:52) at
com.google.cloud.dataflow.sdk.util.common.worker.OutputReceiver.process(OutputReceiver.java:147) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn$2.output(NormalParDoFn.java:230) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn$2.output(NormalParDoFn.java:195) at
com.google.cloud.dataflow.sdk.util.DoFnRunner$DoFnContext.outputWindowedValue(DoFnRunner.java:310) at
com.google.cloud.dataflow.sdk.util.DoFnRunner$DoFnProcessContext.output(DoFnRunner.java:478) at
com.google.cloud.dataflow.sdk.runners.worker.CombineValuesFn$MergeAccumulatorsDoFn.processElement(CombineValuesFn.java:201) at
com.google.cloud.dataflow.sdk.util.DoFnRunner.invokeProcessElement(DoFnRunner.java:171) at
com.google.cloud.dataflow.sdk.util.DoFnRunner.processElement(DoFnRunner.java:156) at
com.google.cloud.dataflow.sdk.runners.worker.NormalParDoFn.processElement(NormalParDoFn.java:262) at
com.google.cloud.dataflow.sdk.util.common.worker.ParDoOperation.process(ParDoOperation.java:52) at
com.google.cloud.dataflow.sdk.util.common.worker.OutputReceiver.process(OutputReceiver.java:147) at
com.google.cloud.dataflow.sdk.util.common.worker.ReadOperation.runReadLoop(ReadOperation.java:184) at
com.google.cloud.dataflow.sdk.util.common.worker.ReadOperation.start(ReadOperation.java:121) at
com.google.cloud.dataflow.sdk.util.common.worker.MapTaskExecutor.execute(MapTaskExecutor.java:66) at
com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.doWork(DataflowWorker.java:130) at
com.google.cloud.dataflow.sdk.runners.worker.DataflowWorker.getAndPerformWork(DataflowWorker.java:95) at
com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.call(DataflowWorkerHarness.java:139) at
com.google.cloud.dataflow.sdk.runners.worker.DataflowWorkerHarness$WorkerThread.call(DataflowWorkerHarness.java:124) at
java.util.concurrent.FutureTask.run(FutureTask.java:266) at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)
最佳答案
此异常应该是暂时的非致命错误。您的工作应继续执行并成功完成。
如果您的工作没有成功完成,请告诉我们。