摘要:
本文是对Hive中【内连接】的Java-API的实现,具体的HQL语句详见Hive查询Joinpackage join.map;import java.io.IOException;import java.util.ArrayList;import java.util.List;import org... 阅读全文
摘要:
本文是对MR案例:Map-Join的解读。在hadoop中,共享全局变量或全局文件的几种方法使用Configuration的set()方法,只适合数据内容比较小的场景将缓存文件放在HDFS上,每次都去读取,效率比较低将缓存文件放在DistributedCache里,在setup()初始化一次后,即可... 阅读全文
摘要:
适用场景:一张表十分小【key不可重复】、一张表非常大。 用法:在Job提交时,首先将小表加载到 DistributedCache 分布式缓存中,然后从DistributeCache中读取小表解析成 key/value 保存到内存中(可以放在Hash Map等容器中)。然后扫描大表中的每条记录的 k... 阅读全文
摘要:
1.Hadoop Streaming是为了方便不太熟悉java用户编写MR程序的工具。用户可以将任何可执行文件(C++)或者脚本(python,ruby)作为Mapper/Reducer, 提高了效率。Hadoop Steaming 要求用户编写的Mapper/Reducer从【标准输入】中读取数据... 阅读全文
摘要:
此文紧接Job流程:提交MR-Job过程。上一篇分析可以看出,MR-Job提交过程的核心代码在于 JobSubmitter 类的 submitJobInternal()方法。本文就由此方法的这一句代码开始分析://计算并确定 map 的个数,以及各个输入切片 Splits 的相关信息int maps... 阅读全文
摘要:
1.一个标准 MR-Job 的执行入口://参数 true 表示检查并打印 Job 和 Task 的运行状况System.exit(job.waitForCompletion(true) ? 0 : 1);2.job.waitForCompletion(true)方法的内部实现://job.wait... 阅读全文
摘要:
问题描述:两种类型输入文件:address(地址)和company(公司)进行一对多的关联查询,得到地址名(例如:Beijing)与公司名(例如:Beijing JD、Beijing Red Star)的关联信息。可参考MR案例:Map-Join1.map阶段:对比之前的单表关联可知,reduce阶... 阅读全文
摘要:
1.map阶段:将单词和URI组成Key值(如“MapReduce :1.txt”),将词频作为value。 利用MR框架自带的Map端排序,将同一文档的相同单词的词频组成列表,传递给Combine过程,实现类似于WordCount的功能。Class Map{ method map(){ ... 阅读全文
摘要:
问题描述:现有一批cookie日志,按照日期进行存放,如目录 “dir/2015-08-08” 下存放2015-08-08这一天的所有cookie。而目录 “/2015-08-08/” 下又根据数据文件名称的不同存放不同项目的cookie,如 “project-flag-cookie” 文件中存放的... 阅读全文
摘要:
现有一学生成绩数据,格式如下: //。需求描述:查询成绩大于等于60分的学生数据,按学院分组,组内按成绩从小到大排序。使用SQL描述:Select * from table where grade >= 60 group by institute ... 阅读全文