摘要: hadoop对于压缩格式的是透明识别,我们的MapReduce任务的执行是透明的,hadoop能够自动为我们 将压缩的文件解压,而不用我们去关心。如果我们压缩的文件有相应压缩格式的扩展名(比如lzo,gz,bzip2等),hadoop就会根据扩展名去选择解码器解压。压缩格式工具算法文件扩展名多文件可分割性DEFLATE无DEFLATE.deflate不不gzipgzipDEFLATE.gz不不ZIPzipDEFLATE.zip是是,在文件范围内bzip2bzip2bzip2.bz2不是LZOlzopLZO.lzo不是 如果压缩的文件没有扩展名,则需 要在执行mapreduce任务的时候指定输. 阅读全文
posted @ 2012-11-05 23:25 出发一路向北 阅读(338) 评论(0) 推荐(0) 编辑
摘要: 基于Hadoop Sequencefile的小文件解决方案一、概述 小文件是指文件size小于HDFS上block大小的文件。这样的文件会给hadoop的扩展性和性能带来严重问题。首先,在HDFS中,任何block,文件或者目录在内存中均以对象的形式存储,每个对象约占150byte,如果有1000 0000个小文件,每个文件占用一个block,则namenode大约需要2G空间。如果存储1亿个文件,则namenode需要20G空间。这样namenode内存容量严重制约了集群的扩展。 其次,访问大量小文件速度远远小于访问几个大文件。HDFS最初是为流式访问大文件开发的,如果访问大量小文件,需要不 阅读全文
posted @ 2012-11-05 22:47 出发一路向北 阅读(462) 评论(0) 推荐(0) 编辑
摘要: hadoop上默认块的大小为64M当文件小于64M时,以一个block计算,在实际的文件系统中,仅占原始文件的大小,外加一个.meta文件例如:中等文件,40M[root@ungeo12 current]#[root@ungeo8 xliu]# /usr/local/hadoop/bin/hadoop dfs -put /home/xliu/hadoop-0.20.3-dev.tar.gz /[root@ungeo8 xliu]# /usr/local/hadoop/bin/hadoop dfs -lsr /-rw-r--r-- 3 root supergroup 40972760 201.. 阅读全文
posted @ 2012-11-05 22:45 出发一路向北 阅读(662) 评论(0) 推荐(0) 编辑
摘要: hadoop的分块有两部分,其中第一部分更为人熟知一点。第一部分就是数据的划分(即把File划分成Block),这个是物理上真真实实的进行了划分,数据文件上传到HDFS里的时候,需要划分成一块一块,每块的大小由hadoop-default.xml里配置选项进行划分。<property> <name>dfs.block.size</name> <value>67108864</value> <description>The default block size for new files.</description&g 阅读全文
posted @ 2012-11-05 22:31 出发一路向北 阅读(1156) 评论(0) 推荐(0) 编辑
摘要: map、shuffle、reduce包含的流程如下:map:split->map->buffer in memorypartition:partition/sort/spillshuffle:copy->sort->mergereduce:shuffle result->reduce->outputpartition与shuffle区别:partition 是指把同一个map中的数据分给不同的reduceshuffle是指在分区过程中把相同的key分到同一个reducesort与combine次数:map端两次sort;reduce端一次sort;每次sor 阅读全文
posted @ 2012-11-05 22:09 出发一路向北 阅读(459) 评论(0) 推荐(0) 编辑