mapreduce实例多表连接

mapreduce实例多表连接

ID:39970944

大小:340.00 KB

页数:9页

时间:2019-07-16

mapreduce实例多表连接_第1页
mapreduce实例多表连接_第2页
mapreduce实例多表连接_第3页
mapreduce实例多表连接_第4页
mapreduce实例多表连接_第5页
资源描述:

《mapreduce实例多表连接》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、mapreduce实例--多表连接实例描述输入是两个文件,一个为工厂表factory.txt,包含工厂名列factoryname和地址编号列addressID;另一个为地址表address.txt,包含地址编号列addressID和地址名列addressname。要求从输入数据中找出工厂名factoryname和地址名addressname的对应关系,输出“工厂名--地址名”表。实例描述输出表如下:设计思路多表关联和单表关联相似,都类似于数据库中的自然连接。相比单表关联,多表关联的左右表和连接列更加清楚。所以可以采用和单表关联的相同的处理方式,map识别出输入的行属于

2、哪个表之后,对其进行分割,将连接的列值保存在key中,另一列和左右表标识保存在value中,然后输出。reduce拿到连接结果之后,解析value内容,根据标志将左右表内容分开存放,然后求笛卡尔积,最后直接输出。左表map结果:mapkeyrelationtype+mapvalue11+BeijingRedStar31+ShenzhenThunder21+GuangzhouHonda11+BeijingRising21+GuangzhouDevelopmentBank31+Tencent11+BankofBeijing设计思路右表map结果:mapkeyrelatio

3、ntype+mapvalue12+Beijing22+Guangzhou32+Shenzhen42+Xian设计思路Reduce过程:Reduce进行左右表连接,mapkey相同且relationtype不同的那些mapvalue进行笛卡尔积。BeijingRedStar1BeijingShenzhenThunder3ShenzhenGuangzhouHonda2GuangzhouBeijingRising1BeijingGuangzhouDevelopmentBank2GuangzhouTencent3ShenzhenBankofBeijing1Beijing设计思

4、路代码结果1.准备测试数据通过Eclipse下面的"DFSLocations"在"/user/hadoop"目录下创建输入文件"input"文件夹(备注:"output"不需要创建。)。如图1,已成功创建。图1图2然后在本地建立两个txt文件factory.txt和address.txt,通过Eclipse上传到"/user/hadoop/input"文件夹中,两个txt文件的内容如"实例描述"那两个文件一样。如图2所示,已成功上传。2.查看运行结果运行后,我们右击Eclipse的"DFSLocations"中"/user/hadoop"文件夹进行刷新,这时会发现多出

5、一个"output"文件夹,里面有1个文件,然后打开看到如图3的运行结果。代码结果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。