일부 변환을 적용한 후 빔 파이프 라인을 PubSub에서 읽고 BigQuery에 씁니다. 파이프 라인은 NPE와 일관되게 실패합니다. 빔 SDK 버전 0.6.0을 사용하고 있습니다. 내가 잘못하고있는 것에 대한 어떤 생각? DirectRunner로 파이프 라인을 실행하려고합니다.Apache Beam : PubsubReader가 NPE로 인해 실패합니다.
java.lang.NullPointerException
at org.apache.beam.sdk.io.PubsubUnboundedSource$PubsubReader.ackBatch(PubsubUnboundedSource.java:640)
at org.apache.beam.sdk.io.PubsubUnboundedSource$PubsubCheckpoint.finalizeCheckpoint(PubsubUnboundedSource.java:313)
at org.apache.beam.runners.direct.UnboundedReadEvaluatorFactory$UnboundedReadEvaluator.getReader(UnboundedReadEvaluatorFactory.java:174)
at org.apache.beam.runners.direct.UnboundedReadEvaluatorFactory$UnboundedReadEvaluator.processElement(UnboundedReadEvaluatorFactory.java:127)
at org.apache.beam.runners.direct.TransformExecutor.processElements(TransformExecutor.java:139)
at org.apache.beam.runners.direct.TransformExecutor.run(TransformExecutor.java:107)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
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)
감사를 사용할 수 있도록 모든 모듈이 특정 버전으로 내장되어 있습니다. 0.7.0-SNAPSHOT으로 업그레이드하는 것은 그 오류를 해결하는 것으로 보이지만 다른 하나는'java.lang.IllegalStateException : org.apache.beam.sdks.java.core.repackaged.com.google.common.base의 영구 검사 점에서 nackAll을 사용할 수 없습니다. (org.apache.beam : beam-sdks-java-core : 0.7.0-SNAPSHOT ", "org.apache.beam : beam-sdks-java-core : 0.7.0-SNAPSHOT ","org.apache.beam : beam-runners-google-cloud-dataflow-java : 0.7.0-SNAPSHOT ","org.apache. beam-runners-direct-java : 0.7.0-SNAPSHOT " – gk888
두 가지 다른 문제 [BEAM-1182] (https://issues.apache.org/jira/browse/BEAM)의 조합으로 인해 실패했습니다. -1182) 및 [BEAM-1655] (https://issues.apache.org/jira/browse/BEAM-1655)를 참조하십시오. 당겨 받기 요청 [# 2323] (https://github.com/apache/beam/pull/2323)은 BEAM-1182를 수정하여 밤의 야간 빌드가 예상대로 작동합니다. –
야간 빌드가 문제를 해결 한 것으로 보입니다. 토마스 감사합니다. – gk888