#案例分享

MR案例:MR和Hive中使用Lzo压缩

在MapReduce中使用lzo压缩 1).首先将数据文件在本地使用lzop命令压缩。具体配置过详见配置hadoop集群的lzo压缩//压缩lzop,解压缩lzop-d[root@ncstword]#lzopwords.txt[root@ncstword]#lswords.txtwords.txt.lzo 2).将lz...
代码星球 ·2020-03-30

MR案例:CombineFileInputFormat

CombineFileInputFormat是一个抽象类。Hadoop提供了两个实现类CombineTextInputFormat和CombineSequenceFileInputFormat。此案例让我明白了三点:详见解读:MR多路径输入和解读:CombineFileInputFormat类对于单一输入路径情况://...
代码星球 ·2020-03-30

MR案例:倒排索引 && MultipleInputs

本案例采用MultipleInputs类实现多路径输入的倒排索引。解读:MR多路径输入packagetest0820;importjava.io.IOException;importjava.lang.reflect.Method;importorg.apache.hadoop.conf.Configuration;i...

MR案例:外连接代码实现

【外连接】是在【内连接】的基础上稍微修改即可。具体HQL语句详见Hive查询Joinpackagejoin.map;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importorg.apache.hadoop.conf....

MR案例:内连接代码实现

本文是对Hive中【内连接】的Java-API的实现,具体的HQL语句详见Hive查询Joinpackagejoin.map;importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importorg.apache.hadoop....

MR案例:Map-Join

适用场景:一张表十分小【key不可重复】、一张表非常大。用法:在Job提交时,首先将小表加载到DistributedCache分布式缓存中,然后从DistributeCache中读取小表解析成key/value保存到内存中(可以放在HashMap等容器中)。然后扫描大表中的每条记录的key是否能在内存中找到相同join...
代码星球 ·2020-03-30

MR案例:Reduce-Join

问题描述:两种类型输入文件:address(地址)和company(公司)进行一对多的关联查询,得到地址名(例如:Beijing)与公司名(例如:BeijingJD、BeijingRedStar)的关联信息。可参考MR案例:Map-Join1.map阶段:对比之前的单表关联可知,reduce阶段的key必须为关联两表的...
代码星球 ·2020-03-30

MR案例:倒排索引

1.map阶段:将单词和URI组成Key值(如“MapReduce:1.txt”),将词频作为value。  利用MR框架自带的Map端排序,将同一文档的相同单词的词频组成列表,传递给Combine过程,实现类似于WordCount的功能。ClassMap<Longwritable,Tex...
代码星球 ·2020-03-30

MR案例:路径过滤PathFilter

问题描述:现有一批cookie日志,按照日期进行存放,如目录“dir/2015-08-08”下存放2015-08-08这一天的所有cookie。而目录“/2015-08-08/”下又根据数据文件名称的不同存放不同项目的cookie,如“project-flag...

MR案例:分区和排序

现有一学生成绩数据,格式如下:<学号,姓名,学院,成绩> //<id,name,institute,grade>。需求描述:查询成绩大于等于60分的学生数据,按学院分组,组内按成绩从小到大排序。使用SQL描述:Select*fromtablewheregrade>=60group...
代码星球 ·2020-03-30

MR案例:单表关联查询

"单表关联"这个实例要求从给出的数据中寻找所关心的数据,它是对原始数据所包含信息的挖掘。需求:实例中给出child-parent(孩子—父母)表,要求输出grandchild-grandparent(孙子—爷奶)表。packagetest;importjava.io.IOException;im...

MR案例:小文件处理方案

HDFS被设计来存储大文件,而有时候会有大量的小文件生成,造成NameNode资源的浪费,同时也影响MapReduce的处理效率。有哪些方案可以合并这些小文件,或者提高处理小文件的效率呢?1).所有HDFS小文件数据导出到本地单个文件后,再存入HDFS[root@ncst~]#hadoopfs-ls/test/in/s...

MR案例:链式ChainMapper

类似于Linux管道重定向机制,前一个Map的输出直接作为下一个Map的输入,形成一个流水线。设想这样一个场景:在Map阶段,数据经过mapper01和mapper02处理;在Reduce阶段,数据经过sort和shuffle后,交给对应的reducer处理。reducer处理后并没有直接写入到Hdfs, 而...
代码星球 ·2020-03-29

MR案例:定制Partitioner

可以继承基类Partitioner,也可以继承默认的HashPartitioner类,覆写其中的getPartition()方法实现自己的分区。需求:本例是对上一个实例的改写,需求不变 packagecountry;importjava.io.IOException;importjava.io.Unsuppo...
代码星球 ·2020-03-29

MR案例:多文件输出MultipleOutputs

问题描述:现有ip-to-hosts.txt数据文件,文件中每行数据有两个字段:分别是ip地址和该ip地址对应的国家,以''分隔。要求汇总不同国家的IP数,并以国家名为文件名将其输出。解读:MultipleOutputs类测试数据:ip-to-hosts.txt18.217.167.70UnitedStates206....
首页上一页...4748495051...下一页尾页