SparkStreaming 遇到LZ4BlockInputStream報錯

今天在學習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了,特此記錄一下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章