hadoop - 在 Spark 中解压 LZ4 压缩数据

标签 hadoop hdfs apache-spark lz4

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

我是 Spark 的新手,所以如果我遗漏了一些明显的东西或者我的概念理解不正确,我会提前道歉,但如果有人能指出我正确的方向,那就太好了。

最佳答案

星火 1.1.0 supports通过 sc.textFile 读取 LZ4 压缩文件。 我通过使用支持 LZ4(在我的例子中是 2.4.1)的 Hadoop 构建的 Spark 使其工作

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

如果没有链接,则会出现未加载 native lz4 库异常。

根据您使用的 Hadoop 发行版,构建 native 库步骤可能是可选的。

关于hadoop - 在 Spark 中解压 LZ4 压缩数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24985704/

相关文章:

hadoop - Hbase master 启动失败异常Java.Lang.NoSuchMethodException

python - 如何使用 PySpark 删除数据框中基于多个过滤器的列?

scala - 在没有 sbt 的情况下运行 Spark sbt 项目?

java - 为什么我们可以在WordCount示例中重用Text对象

java - 在群集上运行jar时出现NoSuchMethodError

hadoop - 使用 HDP 在 hortonworks 上运行 jar 会抛出 ClassNotFoundException

hdfs - 如何使用 Apache Flink 读取 HDFS 中的 parquet 文件?

在没有 key 的情况下加入两个相等的数据集

hadoop - 数据节点故障后恢复的 hdfs

apache-spark - 部署模式客户端和主 yarn 客户端之间有什么关系