0

I'm using Flink SQL to write results to S3 object storage through Hudi. I'm facing an exception when doing the same:

java.lang.NoClassDefFoundError: Could not initialize class org.apache.hudi.avro.HoodieAvroWriteSupport
    at org.apache.hudi.io.storage.HoodieAvroFileWriterFactory.newParquetFileWriter(HoodieAvroFileWriterFactory.java:53)
    at org.apache.hudi.io.storage.HoodieFileWriterFactory.getFileWriterByFormat(HoodieFileWriterFactory.java:80)
    at org.apache.hudi.io.storage.HoodieFileWriterFactory.getFileWriter(HoodieFileWriterFactory.java:67)
    at org.apache.hudi.io.HoodieCreateHandle.<init>(HoodieCreateHandle.java:103)
    at org.apache.hudi.io.HoodieCreateHandle.<init>(HoodieCreateHandle.java:82)
    at org.apache.hudi.io.FlinkCreateHandle.<init>(FlinkCreateHandle.java:66)
    at org.apache.hudi.io.FlinkCreateHandle.<init>(FlinkCreateHandle.java:59)
    at org.apache.hudi.io.FlinkWriteHandleFactory$BaseCommitWriteHandleFactory.create(FlinkWriteHandleFactory.java:114)
    at org.apache.hudi.client.HoodieFlinkWriteClient.getOrCreateWriteHandle(HoodieFlinkWriteClient.java:463)
    at org.apache.hudi.client.HoodieFlinkWriteClient.access$000(HoodieFlinkWriteClient.java:75)
    at org.apache.hudi.client.HoodieFlinkWriteClient$AutoCloseableWriteHandle.<init>(HoodieFlinkWriteClient.java:512)
    at org.apache.hudi.client.HoodieFlinkWriteClient.upsert(HoodieFlinkWriteClient.java:146)
    at org.apache.hudi.sink.StreamWriteFunction.lambda$initWriteFunction$1(StreamWriteFunction.java:189)
    at org.apache.hudi.sink.StreamWriteFunction.lambda$flushRemaining$7(StreamWriteFunction.java:472)
    at java.base/java.util.LinkedHashMap$LinkedValues.forEach(Unknown Source)
    at org.apache.hudi.sink.StreamWriteFunction.flushRemaining(StreamWriteFunction.java:464)
    at org.apache.hudi.sink.StreamWriteFunction.snapshotState(StreamWriteFunction.java:136)
    at org.apache.hudi.sink.common.AbstractStreamWriteFunction.snapshotState(AbstractStreamWriteFunction.java:167)
    at org.apache.flink.streaming.util.functions.StreamingFunctionUtils.trySnapshotFunctionState(StreamingFunctionUtils.java:118)
    at org.apache.flink.streaming.util.functions.StreamingFunctionUtils.snapshotFunctionState(StreamingFunctionUtils.java:99)
    at org.apache.flink.streaming.api.operators.AbstractUdfStreamOperator.snapshotState(AbstractUdfStreamOperator.java:88)

I'm using Flink 1.17.1 and also have hudi-flink1.16-bundle-0.13.1 in the classpath. Do I need to include any other libraries in the classpath? Can someone please help me on this?

user3497321
  • 443
  • 2
  • 6
  • 15

0 Answers0