题目一:计算平台的每一个用户发过多少朋友圈、获得多少点赞
已知,数据如下:
T1:10万行数据
uid(用户id) | log_id(日记id) |
---|---|
uid1 | log_id1 |
uid1 | log_id2 |
uid2 | log_id3 |
… | … |
T2:1000万行数据(注:没有被点赞的日记此表不做记录)
log_id(日记id) | like_uid(点赞的用户id) |
---|---|
log_id1 | uid2 |
log_id1 | uid3 |
log_id1 | uid4 |
log_id3 | uid2 |
… | … |
需求:请用sql计算出如下结果:
uid(用户id) | 发过多少日记 | 获得多少点赞 |
---|---|---|
uid1 | 2 | 3 |
uid2 | 1 | 1 |
… | … | … |
题目二:处理产品版本号
版本号信息存储在数据表中,每行一个版本号。
版本号命名规则符合正则表达式:(?:[1-9]\d|[1-9])(.(?:[1-9]\d|\d)){1,2}
补充说明:
产品版本号由三个部分组成
如:9.11.2
第一部分9为主版本号,为1-99之间的数字;
第二部分11为子版本号,为0-99之间的数字;
第三部分2为阶段版本号,为0-99之间的数字(可选);
请根据具体条件和问题,使用hive sql编程:
1.条件:T1表有100个版本号,找出其中最大的版本号。
举例:
T1:
v_id (版本号) |
---|
9.9.2 |
8.1 |
9.9.2 |
9.20 |
31.0.1 |
… |
2.条件:T1表有1000万个版本号,给如下格式的所有版本号排序。对于相同的版本号,顺序号一致。
table_result (排序结果表) :
v_id (版本号) | seq (顺序号) |
---|---|
31.0.1 | 0 |
9.20 | 1 |
9.9.2 | 2 |
9.9.2 | 2 |
9.0.8 | 4 |
… | … |
题目三、计算用户留存
用户留存是体现平台健康程度的重要数据指标之一,请用hive sql完成如下需求