一、 项目简介:
电子商务的发展以及电商平台的多样化,类似于京东和天猫这种拥有过亿用户的在线购物网站,每天要处理的订单数堪称海量,更别提最近的双十一购物节,如此海量的订单数据阿里巴巴和京东是如何准确将用户信息和其订单匹配并配货的呢?答案是数据连接匹配。我的云计算项目idea也是来源于此。我们在做数据分析时常要连接从不同的数据源中获取到的数据,单机模式下的关系型数据库中我们会遇到这问题,同样在分布式系统中也不可避免的会有这种需求。故此,此次项目是用新的API实现在hadoop集群的MapReduce框架中编写程序实现数据的Join操作并模仿双十一订单配货来举例说明。
二、 MapReduce框架简析
MapReduce作为Hadoop的一个计算框架模型,在运行计算任务时,任务被大致分为读取数据分块,Map操作,Shuffle操作,Reduce操作,然后输出结果。
三、 项目预期说明及特色、创新
a. MapReduce输入(user文件和order文件)
存储有大量用户个人信息(用户ID,姓名,电话)的User文件,以下为部分数据示例:
U_ID Name Phone
14365 Lembr 287-797-6381
15347 Bawa 454-638-9400
16807 Yazdi 660-341-5047
19368 Wiela 759-382-4590
22591 DAgost 746-786-2796
25946 Liley 772-262-2520
存储有大量用户订单数据(用户ID,商品,,价格,订单号,下单时间,送货地址)的Order文件,以下为部分数据示例:
U_ID Goods Prices Order_ID Time of Order Reserv Address
14365 blanket 98.36 370721695 11-Nov-2016 09:25:19 Garvey 8th Ave
15347 cushion 65.84 482597673 11-Nov-2016 20:20:06 Nogales 1st St
16807 quilt 11.58 408570985 11-Nov-2016 23:41:48 Castleton St
19368 cotton 24.00 342658162 11-Nov-2016 05:30:10 Gale 12rd Ave
22591 bedding 71.72 228726593 11-Nov-2016 13:12:29 Azusa Ave
25946 pillow 24.17 151469234 11-Nov-2016 15:13:45 Artesia Blvd
b. MapReduce预期输出: