如何在hadoop中解压缩文件?

Abh*_*hek 10 hadoop

我试图解压缩存储在Hadoop文件系统中的zip文件,并将其存储在hadoop文件系统中.我尝试了以下命令,但没有一个能够工作.

hadoop fs -cat /tmp/test.zip|gzip -d|hadoop fs -put - /tmp/
hadoop fs -cat /tmp/test.zip|gzip -d|hadoop fs -put - /tmp
hadoop fs -cat /tmp/test.zip|gzip -d|hadoop put - /tmp/
hadoop fs -cat /tmp/test.zip|gzip -d|hadoop put - /tmp
Run Code Online (Sandbox Code Playgroud)

我得到这样的错误gzip: stdin has more than one entry--rest ignored,cat: Unable to write to output stream.,Error: Could not find or load main class put在终端,当我运行这些命令.有帮助吗?

编辑1:我无法访问UI.因此,只允许命令行.Unzip/gzip utils安装在我的hadoop机器上.我正在使用Hadoop 2.4.0版本.

Jon*_*Jon 6

要解压缩gzip(或bzip)文件,请使用以下命令

hdfs dfs -cat /data/<data.gz> | gzip -d | hdfs dfs -put - /data/ 
Run Code Online (Sandbox Code Playgroud)

如果文件位于本地驱动器上,则

zcat <infile> | hdfs dfs -put - /data/
Run Code Online (Sandbox Code Playgroud)


Tag*_*gar 2

我大部分时间都使用 hdfs 保险丝安装座

所以你可以这样做

$ cd /hdfs_mount/somewhere/
$ unzip file_in_hdfs.zip
Run Code Online (Sandbox Code Playgroud)

http://www.cloudera.com/content/www/en-us/documentation/archive/cdh/4-x/4-7-1/CDH4-Installation-Guide/cdh4ig_topic_28.html

2016 年 1 月 30 日编辑:如果您使用 hdfs ACL:在某些情况下,fuse 安装不遵守 hdfs ACL,因此您将能够执行基本 unix 访问权限允许的文件操作。请参阅https://issues.apache.org/jira/browse/HDFS-6255,底部的评论是我最近要求重新打开的。