java - 合并 HDFS 中小于 128MB 的压缩 lzo 文件

标签 java apache-spark hadoop

我正在尝试将 Kb 大小的小型 hdfs 文件合并到 128MB 大小的文件中。 所有这些 kb 大小的文件都是 lzo 压缩的 任何人都可以帮忙吗?这是我到目前为止尝试过的方法。

hadoop jar
   /opt/cloudera/parcels/CDH/jars/hadoop-streaming-2.6.0-cdh5.15.1.jar
   -Dmapred.reduce.tasks=10 -Dmapred.reduce.output.compression.codec=lzo  -Dmapred.output.compress=true mapred.output.compression.type=lzo -input "/user/input"
   -output "/user/input_tmp"
   -mapper cat -reducer cat

这里的问题是我的输出是未压缩的零件文件,但我希望它是压缩的 .lzo 文件,如 part-r-00001.lzo...

最佳答案

请参阅此处的示例 https://archive.cloudera.com/cdh5/cdh/5/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/HadoopStreaming.html

-D 和属性名称之间需要空格。 还 你可以使用

-D mapred.output.compression.codec=com.hadoop.compression.lzo.LzopCodec改为

-Dmapred.reduce.output.compression.codec=lzo

同时检查您的 xsite.xmls,如 core-site 和 mapred-site.xmls 是否正确配置了 LZO

关于java - 合并 HDFS 中小于 128MB 的压缩 lzo 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57079754/

相关文章:

java - 在 Spring Data JPA/Hibernate 中设计具有访问限制的可选多对多关系

java - JNA 与 native 代码的通信

java - 如何使用 hashmap 跟踪和增加重复项计数

apache-spark - 缓存和持久化有什么区别?

apache-spark - 带有 Kafka SASL/PLAIN 身份验证的 Spark 结构化流

hadoop - Hadoop中以namenode格式保存数据

jsp - 使用Hbase REST或Hive查询在JSP上显示数据?

java - 尝试对要显示在表行中的数组进行排序

hadoop - 如何在 Apache Spark 中重新分区压缩文件?

hadoop - hbase put 替换现有列值