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

时间:2015-04-08 12:29:45

标签: hadoop zip hdfs

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

1 个答案:

答案 0 :(得分:0)

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

在hadoop中输入命令支持从stdin读取输入。要读取stdin的输入,请使用' - '作为源文件。

压缩文件名:compressed.tar.gz

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

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

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