【学习任务】项目任务-使用Hive加载指定格式数据
我要参与
【学习任务】项目任务-使用Hive加载指定格式数据
学习任务 1.1k
等44人参与
来源: 第8周 / 大数据工程师

题目描述:
现有数据源格式是这样的:

​```
zs      {sub:语文,score:81},{sub:数学,score:80}
ls      {sub:语文,score:90}
​```

解释:

1:数据源中存储的是学生的考试成绩信息,有的学生只考试了1门,所以只会有1门成绩,所以学生的成绩科目数量是不固定的,可能是1个或者2个或者3个。

2:数据源中第一列数据和第二列数据的分隔符是制表符

需要大家在Hive中建表,加载这份数据,最终可以使用SQL查询这份数据中的各科成绩。

效果:
希望最终查询出来的效果是这样的:

​```
hive (default)> select * from stu;
stu.name       stu.scores
zs      [{"subject":"语文","score":81},{"subject":"数学","score":80}]
ls      [{"subject":"语文","score":90}]
hive (default)> select scores[0].score from stu;
score
81
90
​```

任务要求:

1:针对数据源中的数据进行数据清洗,清洗成需要的格式,使用MapReduce代码进行数据清洗

2:针对清洗之后的数据在Hive中创建外部表

3:针对数据中的第二列内容需要使用数组存储

任务提示、思路分析:

1:考虑使用Hive中的复杂数据类型实现

2:注意,数据中的第二列内容使用array<string>这种格式是错误的!!!

去发布

登录后即可发布作业,立即

我的作业

全部作业

意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师