关注
表结构 create table student_score (
name string,
scores Map<string, int>
)
ROW FORMAT delimited
fields terminated by '\t'
COLLECTION ITEMS TERMINATED BY ','
MAP KEYS TERMINATED BY ':'
stored as textfile
; 模拟数据并导入 zhangsan math:90,english:60
lisi chinese:80,math:66,english:77
wangwu chinese:66,math:55,english:80load data local inpath '/home/hadoop/score.txt' overwrite into table student_score; 查询语句 思路: 查询结果中要求包含课程名和成绩,那么只能将两个合并在一起,成绩在前,课程名在后。接下来对那么分组,使用max,min,avg聚合求结果。 只产生一个Hive job。 with t1 as (
select
name,
course_name,
course_value
from student_score
lateral view explode(scores) score_map as course_name, course_value
)
select
name,
split(max(score), '-')[1] max_course_name,
split(max(score), '-')[0] max_course_score,
split(min(score), '-')[1] min_course_name,
split(min(score), '-')[0] min_course_score,
avg(split(score, '-')[0]) avg
from (
select
name,
concat(course_value, '-', course_name) score
from t1
) t2
group by name
;
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
03-06 18:20
门头沟学院 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 如何一边实习一边找下家? #
15008次浏览 125人参与
# 重来一次,你会对开始求职的自己说 #
38288次浏览 414人参与
# 巨人网络春招 #
6935次浏览 118人参与
# 跟HR说什么能被秒回? #
5414次浏览 108人参与
# 你的mentor是什么样的人? #
56540次浏览 772人参与
# 春招/暑实第一面是哪家? #
12612次浏览 170人参与
# MiniMax求职进展汇总 #
6242次浏览 141人参与
# 你认为工作的意义是什么 #
264944次浏览 1524人参与
# 华为海思工作体验 #
44550次浏览 160人参与
# 把自己当AI,现在最消耗你token的问题是什么? #
1326次浏览 58人参与
# 面试官最爱问的 AI 问题是...... #
9223次浏览 348人参与
# 哪些瞬间让你真切感受到了工作的乐趣 #
26945次浏览 111人参与
# 现在入门AI应该走哪些方向? #
2166次浏览 64人参与
# 你收到了哪些公司的笔试? #
11234次浏览 67人参与
# 26年哪些行业会变好/更差 #
56756次浏览 527人参与
# 你的嫡系AI是哪个? #
2186次浏览 64人参与
# 你今年的保底offer是哪家 #
176110次浏览 730人参与
# 27届实习投递记录 #
3043次浏览 67人参与
# 你现在的工作,是“成长”还是“消耗”? #
6176次浏览 106人参与
# 为什么国企只招应届生 #
244260次浏览 1306人参与
# 烟草笔面经互助 #
27821次浏览 202人参与
# 快手求职进展汇总 #
741956次浏览 7119人参与