我爱编程程序员

Hadoop深入研究一

2016-04-27  本文已影响0人  WJustHM

Distcp

hadoop distcp hdfs://namenode:9000/user hdfs://namenode:9000/hadoop

1.看了distcp的执行结果你会发现,他其实是个mapreduce任务,但是只有map没有reduce

hadoop distcp webhdfs://namenode:50070/user/hadoop/input webhdfs://namenode:50070/user/hadoop/input1

Archive

hadoop archive -archiveName input.har -p /user/hadoop/ input har
archiveName指定archive的文件名,-p代表父目录,可以把多个目录文件放到archive里,我们来看下创建好的har文件,input输入路径,har输出路径
in(/user/hadoop/input/),out(/user/hadoop/har)

hadoop fs -lsr har:///user/hadoop/har/input.har
这个是他的访问模式

限制

压缩

压缩格式是否可以被分割是非常关键的(考虑到他的并发性)

例子

举个例子,一个未压缩的文件有1GB大小,hdfs默认的block大小是64MB,那么这个文件就会被分为16个block作为mapreduce的输入,每一个单独使用一个map任务。如果这个文件是已经使用gzip压缩的呢,如果分成16个块,每个块做成一个输入,显然是不合适的,因为gzip压缩流的随即读是不可能的。实际上,当mapreduce处理压缩格式的文件的时候它会认识到这是一个gzip的压缩文件,而gzip又不支持随即读,它就会把16个块分给一个map去处理,这里就会有很多非本地处理的map任务,整个过程耗费的时间就会相当长。

上一篇下一篇

猜你喜欢

热点阅读