hadoop - 将许多小文件传输到 Hadoop 文件系统

标签 hadoop zip hdfs

我想将 zip 文件中的太多小文件(例如 200k 文件)从本地计算机传输到 HDFS。当我解压缩 zip 文件并将文件传输到 HDFS 时,需要很长时间。无论如何我可以将原始 zip 文件传输到 HDFS 并在那里解压缩吗?

最佳答案

如果您的文件是 GB 的,那么此命令肯定有助于避免空间不足错误,因为无需在本地文件系统上解压缩文件。

hadoop 中的 put 命令支持从 stdin 读取输入。要从标准输入读取输入,请使用“-”作为源文件。

压缩文件名:compressed.tar.gz

gunzip -c 压缩.tar.gz | hadoop fs -put -/user/files/uncompressed_data

唯一的缺点:这种方法的唯一缺点是在 HDFS 中,即使本地压缩文件包含多个文件,数据也会合并到一个文件中。

http://bigdatanoob.blogspot.in/2011/07/copy-and-uncompress-file-to-hdfs.html

关于hadoop - 将许多小文件传输到 Hadoop 文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29514666/

相关文章:

java - Hadoop map reduce 整个文件输入格式

hadoop - Cassandra 聚合到 Map

Java 获取 Zip 文件内容

c# - C# 中 ionic zip 的替代品是什么?

hadoop - 为什么分区连接(随机播放)并不总是比广播连接更好?

hadoop - curl 下载到 HDFS

hadoop - 如何在配置单元中取消透视表?

hadoop - hive内部hive表和外部hive表的区别

java - Zip 文件是使用 Windows 路径分隔符创建的

hadoop - 允许指定文件存储在哪台机器上的分布式文件系统