首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hadoop fs -text vs hadoop fs -cat vs hadoop fs -get

hadoop fs -text vs hadoop fs -cat vs hadoop fs -get
EN

Stack Overflow用户
提问于 2014-09-19 02:35:39
回答 3查看 20K关注 0票数 2

我相信下面所有的命令都可以用来将hdfs文件复制到本地文件系统。有什么不同/情景利弊。( Hadoop新手在这里)。

代码语言:javascript
复制
hadoop fs -text /hdfs_dir/* >> /local_dir/localfile.txt
hadoop fs -cat /hdfs_dir/* >> /local_dir/localfile.txt
hadoop fs -get /hdfs_dir/* >> /local_dir/

我的经验法则是避免对大文件使用'text‘和'cat’。(我使用它来复制我的MR作业的输出,在我的用例中通常较小)。

EN

回答 3

Stack Overflow用户

发布于 2016-06-22 05:25:04

-cat和-text之间的主要区别是,text检测文件的编码,并尽可能将其解码为纯文本,而cat不会这样做。

例如,以这个lzo压缩文件为例。

使用文本:

代码语言:javascript
复制
hadoop fs -text hdfs://namenode:8020/user/hive/warehouse/database/000000_0.lzo_deflate
1,foo
2,bar
3,baz
4,hello
5,world

使用cat:

代码语言:javascript
复制
 hadoop fs -cat hdfs://namenode:8020/user/hive/warehouse/database/000000_0.lzo_deflate 
    ίiW3�I���2�IJ,�2�U\&:�99�\�:��E9)\֙��"

dfs -get命令用于将文件复制到本地文件系统。

票数 9
EN

Stack Overflow用户

发布于 2014-09-19 14:43:38

代码语言:javascript
复制
hadoop fs -get 
hadoop fs -copyToLocal 

以上HDFS命令可用于将HDFS文件复制到本地系统。

代码语言:javascript
复制
hadoop fs -cat 

此命令将在标准输出(控制台或命令提示符)上显示HDFS文件的内容。

代码语言:javascript
复制
hadoop fs  -text 

这将显示hdfs文件的内容(但文本仅适用于SequenceFieFormat等zip和TextRecordInputStream格式)。

票数 1
EN

Stack Overflow用户

发布于 2014-09-19 15:37:17

-text

用法: hadoop fs -text获取源文件,并以文本格式输出该文件。允许的格式为zip和TextRecordInputStream。

-cat

用法: hadoop fs -cat URI URI…将源路径复制到stdout。

-get

使用: hadoop fs -get -ignorecrc将文件复制到本地文件系统。未通过CRC检查的文件可以使用-ignorecrc选项进行复制。可以使用-crc选项复制文件和CRC。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25919999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档