分享

求解:hive 遇到的问题

如图:结合这个图
这个可以理解为一个用户注册的过程。有多步。每一步成功可以到下一步。用户可以多次登录。中间某一步出错了。可以重试。成功了。就到下一步。错误了就还是停留在当前这一步。
现在的需求是。要挑出用户一次操作中,最后没有成功的那些记录中出错的记录,就是我右侧有箭头的那5条信息。
(注:一个用户 每次操作都要从 stage为1开始。遇到下一次stage为1.则定义为一次操作)  下面有提供测试数据。
111.jpg

drop table if exists test;               
create external table if not exists test(
userid            string    ,     
stage          int      ,      
recode       string    ,      
time      string   
)

row format delimited fields terminated by '\t'
stored as textfile;

A    1    success    2017-07-19 10:09:10
A    2    error         2017-07-19 10:10:10
A    1    success    2017-07-19 11:09:10
A    2    success    2017-07-19 11:10:10
A    3    error      2017-07-19 11:12:10
A    1    success    2017-07-19 11:12:15
A    2    success    2017-07-19 11:12:16
A    3    error      2017-07-19 11:12:17
A    3    success    2017-07-19 11:12:18
A    4    error      2017-07-19 11:12:19
A    4    success    2017-07-19 11:12:20
A    5    success    2017-07-19 11:12:30
B    1    success    2017-07-19 12:12:10
B    2    error      2017-07-19 12:12:12


load data local inpath '/home/hdfs/lxw/dying.txt' into table test;



补充内容 (2017-7-20 14:43):
stage能到第5步的就算成功。

已有(6)人评论

跳转到指定楼层
einhep 发表于 2017-7-19 17:59:59
这是什么意思?
遇到什么问题了。
回复

使用道具 举报

langke93 发表于 2017-7-19 18:08:20
用户id应该是唯一的,不应该用A或则B。这个应该是用户名

回复

使用道具 举报

heierya 发表于 2017-7-19 19:18:13
本帖最后由 heierya 于 2017-7-19 21:18 编辑

新手尝试解决一下。
大致步骤为:
1、按时间排序
2、按stage分组
3、找出最后recode为error的分组
4、取最后recode为error的分组中的每一条error记录

感觉难点在于2.按stage分组,尝试直接用hiveSQL的row_number()解决未成功。
我这边的话只能动用MR 或者引入一个UDF函数 来解决了。这个每个人应该都有些自己的想法,不在赘述。
坐等大神用HQL来解答了
回复

使用道具 举报

redhat1986 发表于 2017-7-20 14:35:25
langke93 发表于 2017-7-19 18:08
用户id应该是唯一的,不应该用A或则B。这个应该是用户名

对,是用户名

回复

使用道具 举报

redhat1986 发表于 2017-7-20 14:41:06
heierya 发表于 2017-7-19 19:18
新手尝试解决一下。
大致步骤为:
1、按时间排序

要按每次操作中最终没有成功的error才挑出,如图,左边大括号意思是操作了4次,其中第一次,第二次分别挑出一条error记录,第三次虽然中间也有error但最终完成了,所以不挑error记录。
回复

使用道具 举报

hyj 发表于 2017-7-21 12:30:07
这里面存在问题,需要有明确的地方标记,最后是否成功。否则没法判断
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条