我想把zip文件中太多的小文件(例如200k文件)从本地机器传输到hdfs。当我解压zip文件并将文件转换为hdfs时,需要很长时间。我是否可以将原始zip文件传输到hdfs并在那里解压?
vlju58qv1#
如果您的文件是gb的,那么这个命令肯定有助于避免空间不足错误,因为不需要在本地文件系统上解压缩文件。hadoop中的put命令支持从stdin读取输入。要从stdin读取输入,请使用“-”作为源文件。压缩文件名:compressed.tar.gzgunzip-c compressed.tar.gz | hadoop fs-put-/user/files/未压缩的数据唯一的缺点:这种方法的唯一缺点是,在hdfs中,即使本地压缩文件包含多个文件,数据也会合并到单个文件中。http://bigdatanoob.blogspot.in/2011/07/copy-and-uncompress-file-to-hdfs.html
1条答案
按热度按时间vlju58qv1#
如果您的文件是gb的,那么这个命令肯定有助于避免空间不足错误,因为不需要在本地文件系统上解压缩文件。
hadoop中的put命令支持从stdin读取输入。要从stdin读取输入,请使用“-”作为源文件。
压缩文件名:compressed.tar.gz
gunzip-c compressed.tar.gz | hadoop fs-put-/user/files/未压缩的数据
唯一的缺点:这种方法的唯一缺点是,在hdfs中,即使本地压缩文件包含多个文件,数据也会合并到单个文件中。
http://bigdatanoob.blogspot.in/2011/07/copy-and-uncompress-file-to-hdfs.html