新版API多表连接Join之模仿订单配货

时间:2022-05-16 02:52:27

一、    项目简介:

电子商务的发展以及电商平台的多样化,类似于京东和天猫这种拥有过亿用户的在线购物网站,每天要处理的订单数堪称海量,更别提最近的双十一购物节,如此海量的订单数据阿里巴巴和京东是如何准确将用户信息和其订单匹配并配货的呢?答案是数据连接匹配。我的云计算项目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预期输出: