今天在學習Spark的流式處理的時候,執行map算子和其他算子都正常,但是唯獨執行groupbykey算子的時候回報如下錯誤
Caused by: java.lang.NoSuchMethodError: net.jpountz.lz4.LZ4BlockInputStream.<init>(Ljava/io/InputStream;Z)V
at org.apache.spark.io.LZ4CompressionCodec.compressedInputStream(CompressionCodec.scala:122)
at org.apache.spark.serializer.SerializerManager.wrapForCompression(SerializerManager.scala:163)
at org.apache.spark.serializer.SerializerManager.wrapStream(SerializerManager.scala:124)
畢竟新手,所以一直以爲是自己代碼有問題,最後來百度和Google查了下,大家都說是lz4這個庫的問題,是kafka和spark版本不一致導致的,查了下,我
<dependency>
<groupId>net.jpountz.lz4</groupId>
<artifactId>lz4</artifactId>
<version>1.3.0</version>
</dependency>
就在pom文件中加入了上面的模塊,然後這個問題就修復了,可以正常groupbykey了,特此記錄一下