人民大学云计算编程的网上评估平台--解题报告 1004-1007

本文是关于人民大学云计算编程在线评估平台的MapReduce编程解题报告,涵盖了1004到1007四个题目。1004题是单表连接,通过自定义数据类型实现孩子-父母到孙子女-祖父母的关系转换;1005题为多表连接,利用相同方法处理工厂名与地址的匹配;1006题要求计算大数之和,通过设置统一key使所有数据归一化处理;1007题则涉及单词计数,通过正则表达式过滤非字母数字字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(http://youzitool.com 新博客,欢迎访问)

因为一次写7道题,文章太长了,为了方便大家阅读,我分成了两篇。

接着上一篇文章,我们继续mapreduce编程之旅~~

 

1004: 题目

 

Single Table Join

描述

输入文件是一个包含有子女-父母表的文件。请编写一个程序,输入为此输入文件,输出是包含在子女-父母表中的孙子女-祖父母关系表。

输入

输入是包含有子女-父母表的一个文件

输出

输出是包含有孙子女-祖父母关系的一个文件,孙子女-祖父母关系是从子女-父母表中得出的。

样例输入

child parent
Tom Lucy
Tom Jack
Jone Lucy
Jone Jack
Lucy Mary
Lucy Ben
Jack Alice
Jack Jesse
Terry Alice
Terry Jesse
Philip Terry
Philip Alma
Mark Terry
Mark Alma

样例输出

grandchild  grandparent 
Jone        Alice 
Jone        Jesse 
Tom         Alice 
Tom         Jesse 
Jone        Mary 
Jone        Ben 
Tom         Mary 
Tom         Ben 
Mark        Jesse 
Mark        Alice 
Philip      Jesse 
Philip      Alice


1004:解题思路

单表的连接,这个比较有味道~~当然有可能是我水平有问题,所以写的比较复杂。

首先,我定义了一个自定义数据类型TextPair 关于自定义数据类型我这里也不多说了,大家可以百度一下,或者看看hadoop权威指南上面都会讲解。

接着:我们从输入可以看出,孩子和双亲都写在同一个文件,而我们要求的是祖孙关系,所以双亲类也会出现在孩子列。为了正确区分,所以我们借助自定义数据类型来完成。

我先上代码,在代码中我会详细注释:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值