Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop Spark中LZ4压缩数据的解压缩_Hadoop_Hdfs_Apache Spark_Lz4 - Fatal编程技术网

Hadoop Spark中LZ4压缩数据的解压缩

Hadoop Spark中LZ4压缩数据的解压缩,hadoop,hdfs,apache-spark,lz4,Hadoop,Hdfs,Apache Spark,Lz4,我在HDFS中有LZ4压缩数据,我正试图在ApacheSpark中将其解压缩为RDD。据我所知,JavaSparkContext中从HDFS读取数据的唯一方法是textFile,它只读取HDFS中的数据。我遇到过关于压缩编解码器的文章,但它们都解释了如何将输出压缩到HDFS,而我需要解压缩HDFS上已有的内容 我是Spark的新手,因此如果我错过了一些明显的东西或者我的概念理解不正确,我会提前道歉,但如果有人能给我指出正确的方向,那将是非常好的。Spark 1.1.0通过sc.textFile阅

我在HDFS中有LZ4压缩数据,我正试图在ApacheSpark中将其解压缩为RDD。据我所知,
JavaSparkContext
中从HDFS读取数据的唯一方法是
textFile
,它只读取HDFS中的数据。我遇到过关于压缩编解码器的文章,但它们都解释了如何将输出压缩到HDFS,而我需要解压缩HDFS上已有的内容

我是Spark的新手,因此如果我错过了一些明显的东西或者我的概念理解不正确,我会提前道歉,但如果有人能给我指出正确的方向,那将是非常好的。

Spark 1.1.0通过
sc.textFile
阅读LZ4压缩文件。 我使用了Spark,它是用支持LZ4的Hadoop构建的(在我的例子中是2.4.1)

之后,我为我的平台构建了本机库,如中所述,并通过
--driver library path
选项将它们链接到Spark

没有链接,存在未加载的
本机lz4库
异常


根据Hadoop发行版的不同,您正在使用的构建本机库步骤可能是可选的。

我相信您希望查看
SparkContext.newAPIHadoopFile()
的文档和示例。我80%确定
textFile
对gzip数据执行解压缩。你试过了吗?它不会透明地解压缩您的文件吗?我尝试过
textFile
,但它不会解压缩数据。@Daniel-
textFile()
确实会解压缩压缩的数据(我已经多次这样使用过它),但不会解压缩LZ4压缩的数据。为此,您需要
newAPIHadoopFile()
.gzip在大型文件上不是一个选项,因为当bz2(但要慢)和lz4正在运行时,解压缩无法并行化。