2 xukunwzq xukunwzq 于 2015.06.18 22:25 提问

Hive进行数据比对问题,求帮助

最近项目中需要在Hadoop平台中做对账的工作,采用hive开做,容易上手,AB双方数据做数据比对的时候,准备用表连接方式来处理,这样存在问题,表连接的时候left join会存在多对多的情况,会出现A方中多条数据和B方一条数据比对成功的情况,需求如下:
1、以A方数据为主查找B方与之匹配的数据,
2、获取到多条时,取第一条,
3、且此条数据不再与A方其他数据进行比对

之前处理的方式是在db2中用存储过程来实现的,用游标遍历A放数据逐条从B方查找来处理的,现在用Hive来做的话就遇到这样的难处了

2个回答

lzp_lrp
lzp_lrp   Ds   Rxr 2015.06.19 14:04

采用循环,类似于db2的存储过程代码来进行比对

lzp_lrp
lzp_lrp 回复xukunwzq: hadoop里有一种方式叫streaming,就是一行一行的读取,然后通过脚本的方式进行处理,在这里刚好hive是支持脚本的,所以可以用脚本来实现操作一行记录(我这里使用的是python脚本)
2 年多之前 回复
xukunwzq
xukunwzq hive中该如何进行循环操作呢
2 年多之前 回复
lzp_lrp
lzp_lrp   Ds   Rxr 2015.06.19 16:34
Csdn user default icon
上传中...
上传图片
插入图片