网站大量收购闲置独家精品文档,联系QQ:2885784924

Hadoop-2.2.0使用lzo压缩文件作为输入文件.PDF

Hadoop-2.2.0使用lzo压缩文件作为输入文件.PDF

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Hadoop-2.2.0使用lzo压缩文件作为输入文件.PDF

Hadoop-2.2.0使用lzo压缩文件作为输入文件 Spark大数据博客 - Hadoop-2.2.0使用lzo压缩文件作为输入文件 在 《Hadoop 2.2.0安装和配置lzo》 文章中介绍了如何基于 Hadoop 2.2.0安装lzo。里面简单介绍了如果在Hive里面使用lzo数据。今天主要来说说如何在Hadoop 2.2.0中使用lzo压缩文件当作的数据。 lzo压缩默认的是不支持切分的,也就是说,如果直接把lzo文件当作Mapreduce任务的输入 ,那么Mapreduce只会用一个Map来处理这个输入文件,这显然不是我们想要的。其实我们只需 要对lzo文件建立索引,这样这个lzo文件就会支持切分,也就可以用多个Map来处理lzo文件。我 们可以用 《Hadoop 2.2.0安装和配置lzo》 文章中编译的hadoop-lzo-0.4.20-SNAPSHOT.jar包来 对lzo文件建立索引(假如在/home/wyp/input目录下有个cite.txt.lzo文件,这个目录是在HDFS上) : $ $HADOOP_HOMOE/bin/hadoop jar $HADOOP_HOMOE/share/hadoop/common/hadoop-lzo-0.4.20-SNAPSHOT.jar pression.lzo.DistributedLzoIndexer /home/wyp/input/cite.txt.lzo 生成出来的索引文件后缀为.index,并存放在lzo同一目录下.在本例中产生的索引文件是存放在/h ome/wyp/input目录下,名称为cite.txt.lzo.index。 我们也可以用下面的方法对lzo文件来建立索引: $ $HADOOP_HOMOE/bin/hadoop jar $HADOOP_HOMOE/share/hadoop/common/hadoop-lzo-0.4.20-SNAPSHOT.jar pression.lzo.LzoIndexer /home/wyp/input/cite.txt.lzo 这个方法和上面方法产生出来的索引文件是一样的;但是上面的方法是通过启用Mapreduce任务 来执行的,而这里的方法只在一台客户机上运行,效率很慢! 那么,如何在Mapreduce任务中使用lzo文件。下面分别对Mapreduce程序、Streaming程序以及 Hive分别进行说明: 1、对于Mapreduce程序,我们需要把程序中所有的TextInputFormat修改为LzoTextInputFormat,如下: job.setInputFormatClass(TextInputFormat.class); 1 / 3 Hadoop-2.2.0使用lzo压缩文件作为输入文件 Spark大数据博客 - 修改为 job.setInputFormatClass(LzoTextInputFormat.class); LzoTextInputFormat类需要引入相应的包,如果你是使用pom文件,可以引入以下依赖: dependency groupIdcom.hadoop.gplcompression/groupId artifactIdhadoop-lzo/artifactId version0.4.19/version /dependency 如果你的输入格式不是LzoTextInputFormat类,那么Mapreduce程序将会把.index文件也当作是 数据文件!修改完之后,需要重新编译你的Mapreduc程序。这样在运行Mapreduce程序的时候 ,将lzo文件所在的目录当作输入即可,Mapreduce程序会识别出.index文件的: $ /home/q/hadoop-2.2.0/bin/hadoop jar statistics2.jar com.wyp.Sts -Dmapreduce.job.queuename=que

文档评论(0)

tangtianbao1 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档