今天在学习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了,特此记录一下