我在HDFS中有LZ4压缩数据,我试图将它在Apache Spark中解压缩成RDD。据我所知,JavaSparkContext
中从HDFS读取数据的唯一方法是textFile
,它只读取HDFS中的数据。我在CompressionCodec
上遇到过文章,但所有文章都解释了如何将输出压缩为HDFS,而我需要解压缩HDFS上的内容。
我是Spark的新手,所以如果我错过了一些明显的东西,或者如果我的概念理解不正确,我会提前道歉,但如果有人能指出我正确的方向,那就太好了。
答案 0 :(得分:1)
Spark 1.1.0 supports通过sc.textFile
读取LZ4压缩文件。
通过使用支持LZ4的Hadoop构建的Spark(在我的情况下为2.4.1),我已经开始工作了
之后,我按照Hadoop docs中的描述为我的平台构建了本机库,并通过--driver-library-path
选项将它们链接到Spark。
没有关联,就有native lz4 library not loaded
例外。
根据您使用构建本机库的Hadoop发行版,步骤可以是可选的。