我试图解压一个存储在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
我会犯这样的错误 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的权限。因此,只允许使用命令行。解压/gzip实用程序安装在我的hadoop机器上。我在用 Hadoop 2.4.0
版本。
4条答案
按热度按时间w80xi6nr1#
gzip使用-c从stdin读取数据
hadoop fs-put不支持从stdin读取数据
我做了很多尝试,但是我没有找到hadoop的zip输入支持,所以我别无选择,只能将hadoop文件下载到本地fs,解压后再上传到hdfs。
xkrw2x1b2#
我使用的大多数时间hdfs保险丝挂载为这个
所以你可以
http://www.cloudera.com/content/www/en-us/documentation/archive/cdh/4-x/4-7-1/cdh4-installation-guide/cdh4ig_topic_28.html
编辑1/30/16:如果您使用hdfs acl:在某些情况下,fuse挂载不遵循hdfs acl,因此您可以执行基本unix访问权限所允许的文件操作。看到了吗https://issues.apache.org/jira/browse/hdfs-6255,我最近要求重新打开的底部的评论。
cgvd09ve3#
要通过管道将数据流传输到hadoop,需要使用hdfs命令。
7vhp5slm4#
要解压缩gzip(或bzipped)文件,我使用以下命令
如果文件位于本地驱动器上,则