Hi,
I am playing around adding some code to BigQueryIO. I build my project locally
and installed the beam-sdks-java-core into my local maven:
mvn install:install-file
-Dfile=./sdks/java/core/build/libs/beam-sdks-java-core-2.19.0-SNAPSHOT.jar
-DgroupId=org.apache.beam -DartifactId=beam-sdks-java-core
-Dversion=2.19.0-SNAPSHOT -Dpackaging=jar -DgeneratePom=true
And then try to reference it from word-count-beam by changing the version:
<dependencies>
<!-- Adds a dependency on the Beam SDK. -->
<dependency>
<groupId>org.apache.beam</groupId>
<artifactId>beam-sdks-java-core</artifactId>
<version>2.19.0-SNAPSHOT</version>
</dependency>
When I ran the sample using dataflow runner:
mvn -Pdataflow-runner compile exec:java
-Dexec.mainClass=org.apache.beam.examples.NewWriter
-Dexec.args="--project=bigquerytestdefault --runner=DataflowRunner"
It failed with:
NING]
java.util.ServiceConfigurationError:
org.apache.beam.runners.core.construction.CoderTranslatorRegistrar: Provider
org.apache.beam.runners.core.construction.ModelCoderRegistrar could not be
instantiated
at java.util.ServiceLoader.fail (ServiceLoader.java:232)
at java.util.ServiceLoader.access$100 (ServiceLoader.java:185)
at java.util.ServiceLoader$LazyIterator.nextService (ServiceLoader.java:384)
at java.util.ServiceLoader$LazyIterator.next (ServiceLoader.java:404)
at java.util.ServiceLoader$1.next (ServiceLoader.java:480)
at org.apache.beam.runners.core.construction.CoderTranslation.loadCoderURNs
(CoderTranslation.java:52)
at org.apache.beam.runners.core.construction.CoderTranslation.<clinit>
(CoderTranslation.java:44)
at org.apache.beam.runners.core.construction.SdkComponents.registerCoder
(SdkComponents.java:254)
at org.apache.beam.runners.core.construction.PCollectionTranslation.toProto
(PCollectionTranslation.java:35)
at
org.apache.beam.runners.core.construction.SdkComponents.registerPCollection
(SdkComponents.java:209)
at
org.apache.beam.runners.core.construction.PTransformTranslation.translateAppliedPTransform
(PTransformTranslation.java:471)
at
org.apache.beam.runners.core.construction.PTransformTranslation$KnownTransformPayloadTranslator.translate
(PTransformTranslation.java:412)
at org.apache.beam.runners.core.construction.PTransformTranslation.toProto
(PTransformTranslation.java:225)
at
org.apache.beam.runners.core.construction.SdkComponents.registerPTransform
(SdkComponents.java:157)
at
org.apache.beam.runners.core.construction.PipelineTranslation$1.visitPrimitiveTransform
(PipelineTranslation.java:87)
at org.apache.beam.sdk.runners.TransformHierarchy$Node.visit
(TransformHierarchy.java:665)
at org.apache.beam.sdk.runners.TransformHierarchy$Node.visit
(TransformHierarchy.java:657)
at org.apache.beam.sdk.runners.TransformHierarchy$Node.visit
(TransformHierarchy.java:657)
at org.apache.beam.sdk.runners.TransformHierarchy$Node.access$600
(TransformHierarchy.java:317)
at org.apache.beam.sdk.runners.TransformHierarchy.visit
(TransformHierarchy.java:251)
at org.apache.beam.sdk.Pipeline.traverseTopologically (Pipeline.java:460)
at org.apache.beam.runners.core.construction.PipelineTranslation.toProto
(PipelineTranslation.java:59)
at org.apache.beam.runners.dataflow.DataflowPipelineTranslator.translate
(DataflowPipelineTranslator.java:187)
at org.apache.beam.runners.dataflow.DataflowRunner.run
(DataflowRunner.java:795)
at org.apache.beam.runners.dataflow.DataflowRunner.run
(DataflowRunner.java:186)
at org.apache.beam.sdk.Pipeline.run (Pipeline.java:315)
at org.apache.beam.sdk.Pipeline.run (Pipeline.java:301)
at org.apache.beam.examples.OldWriter.runWrite (OldWriter.java:79)
at org.apache.beam.examples.OldWriter.main (OldWriter.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:282)
at java.lang.Thread.run (Thread.java:748)
Caused by: java.lang.NoClassDefFoundError:
org/apache/beam/sdk/util/WindowedValue$ParamWindowedValueCoder
at org.apache.beam.runners.core.construction.ModelCoderRegistrar.<clinit>
(ModelCoderRegistrar.java:63)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance
(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance (Constructor.java:423)
at java.lang.Class.newInstance (Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService (ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next (ServiceLoader.java:404)
at java.util.ServiceLoader$1.next (ServiceLoader.java:480)
at org.apache.beam.runners.core.construction.CoderTranslation.loadCoderURNs
(CoderTranslation.java:52)
at org.apache.beam.runners.core.construction.CoderTranslation.<clinit>
(CoderTranslation.java:44)
at org.apache.beam.runners.core.construction.SdkComponents.registerCoder
(SdkComponents.java:254)
at org.apache.beam.runners.core.construction.PCollectionTranslation.toProto
(PCollectionTranslation.java:35)
at
org.apache.beam.runners.core.construction.SdkComponents.registerPCollection
(SdkComponents.java:209)
at
org.apache.beam.runners.core.construction.PTransformTranslation.translateAppliedPTransform
(PTransformTranslation.java:471)
at
org.apache.beam.runners.core.construction.PTransformTranslation$KnownTransformPayloadTranslator.translate
(PTransformTranslation.java:412)
at org.apache.beam.runners.core.construction.PTransformTranslation.toProto
(PTransformTranslation.java:225)
at
org.apache.beam.runners.core.construction.SdkComponents.registerPTransform
(SdkComponents.java:157)
at
org.apache.beam.runners.core.construction.PipelineTranslation$1.visitPrimitiveTransform
(PipelineTranslation.java:87)
at org.apache.beam.sdk.runners.TransformHierarchy$Node.visit
(TransformHierarchy.java:665)
at org.apache.beam.sdk.runners.TransformHierarchy$Node.visit
(TransformHierarchy.java:657)
at org.apache.beam.sdk.runners.TransformHierarchy$Node.visit
(TransformHierarchy.java:657)
at org.apache.beam.sdk.runners.TransformHierarchy$Node.access$600
(TransformHierarchy.java:317)
at org.apache.beam.sdk.runners.TransformHierarchy.visit
(TransformHierarchy.java:251)
at org.apache.beam.sdk.Pipeline.traverseTopologically (Pipeline.java:460)
at org.apache.beam.runners.core.construction.PipelineTranslation.toProto
(PipelineTranslation.java:59)
at org.apache.beam.runners.dataflow.DataflowPipelineTranslator.translate
(DataflowPipelineTranslator.java:187)
at org.apache.beam.runners.dataflow.DataflowRunner.run
(DataflowRunner.java:795)
at org.apache.beam.runners.dataflow.DataflowRunner.run
(DataflowRunner.java:186)
at org.apache.beam.sdk.Pipeline.run (Pipeline.java:315)
at org.apache.beam.sdk.Pipeline.run (Pipeline.java:301)
at org.apache.beam.examples.OldWriter.runWrite (OldWriter.java:79)
at org.apache.beam.examples.OldWriter.main (OldWriter.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:282)
at java.lang.Thread.run (Thread.java:748)
Caused by: java.lang.ClassNotFoundException:
org.apache.beam.sdk.util.WindowedValue$ParamWindowedValueCoder
at java.net.URLClassLoader.findClass (URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass (ClassLoader.java:424)
at java.lang.ClassLoader.loadClass (ClassLoader.java:357)
at org.apache.beam.runners.core.construction.ModelCoderRegistrar.<clinit>
(ModelCoderRegistrar.java:63)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0 (Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance
(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance
(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance (Constructor.java:423)
at java.lang.Class.newInstance (Class.java:442)
at java.util.ServiceLoader$LazyIterator.nextService (ServiceLoader.java:380)
at java.util.ServiceLoader$LazyIterator.next (ServiceLoader.java:404)
at java.util.ServiceLoader$1.next (ServiceLoader.java:480)
at org.apache.beam.runners.core.construction.CoderTranslation.loadCoderURNs
(CoderTranslation.java:52)
at org.apache.beam.runners.core.construction.CoderTranslation.<clinit>
(CoderTranslation.java:44)
at org.apache.beam.runners.core.construction.SdkComponents.registerCoder
(SdkComponents.java:254)
at org.apache.beam.runners.core.construction.PCollectionTranslation.toProto
(PCollectionTranslation.java:35)
at
org.apache.beam.runners.core.construction.SdkComponents.registerPCollection
(SdkComponents.java:209)
at
org.apache.beam.runners.core.construction.PTransformTranslation.translateAppliedPTransform
(PTransformTranslation.java:471)
at
org.apache.beam.runners.core.construction.PTransformTranslation$KnownTransformPayloadTranslator.translate
(PTransformTranslation.java:412)
at org.apache.beam.runners.core.construction.PTransformTranslation.toProto
(PTransformTranslation.java:225)
at
org.apache.beam.runners.core.construction.SdkComponents.registerPTransform
(SdkComponents.java:157)
at
org.apache.beam.runners.core.construction.PipelineTranslation$1.visitPrimitiveTransform
(PipelineTranslation.java:87)
at org.apache.beam.sdk.runners.TransformHierarchy$Node.visit
(TransformHierarchy.java:665)
at org.apache.beam.sdk.runners.TransformHierarchy$Node.visit
(TransformHierarchy.java:657)
at org.apache.beam.sdk.runners.TransformHierarchy$Node.visit
(TransformHierarchy.java:657)
at org.apache.beam.sdk.runners.TransformHierarchy$Node.access$600
(TransformHierarchy.java:317)
at org.apache.beam.sdk.runners.TransformHierarchy.visit
(TransformHierarchy.java:251)
at org.apache.beam.sdk.Pipeline.traverseTopologically (Pipeline.java:460)
at org.apache.beam.runners.core.construction.PipelineTranslation.toProto
(PipelineTranslation.java:59)
at org.apache.beam.runners.dataflow.DataflowPipelineTranslator.translate
(DataflowPipelineTranslator.java:187)
at org.apache.beam.runners.dataflow.DataflowRunner.run
(DataflowRunner.java:795)
at org.apache.beam.runners.dataflow.DataflowRunner.run
(DataflowRunner.java:186)
at org.apache.beam.sdk.Pipeline.run (Pipeline.java:315)
at org.apache.beam.sdk.Pipeline.run (Pipeline.java:301)
at org.apache.beam.examples.OldWriter.runWrite (OldWriter.java:79)
at org.apache.beam.examples.OldWriter.main (OldWriter.java:86)
at sun.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:498)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run (ExecJavaMojo.java:282)
at java.lang.Thread.run (Thread.java:748)
I removed my maven repository and reran everything, the problem is still there.
Anyone met this issue before or knows why?
Thanks!