Hive考试练习题(参考题解)
前置环境:
请打开【VMware Workstation Pro】中的【linux1】环境,登录账号【root】密码【root】。
搭建hive环境并对map数据进行分析:
一、搭建MySQL运行环境(25分,每项5分)
1、删除MySQL依赖的libs包
2、安装MySQL的服务器与安装MySQL的客户端
3、登录MySQL并修改MySQL密码
4、给与MySQL的master权限
5、刷新MySQL权限并退出MySQL
下方解析链接:
Hive基础01、安装MySQL_红目香薰的博客-CSDN博客
二、搭建hive运行环境(50分,每项5分)
1、解压【/opt/soft/】文件夹下的【apache-hive-2.1.0-bin.tar.gz】文件
2、修改【apache-hive-2.1.0-bin】文件夹的名称为【hive】
3、拷贝【/opt/soft/hive/conf】文件夹下的【hive-env.sh.template】文件,并更改名称为【hive-env.sh】
4、拷贝【/opt/soft/hive/conf】文件夹下的【hive-default.xml.template】文件,并更改名称为【
hive-site.xml】
5、在【hive-env.sh】文件中添加【JAVA_HOME】、【HADOOP_HOME】、【HIVE_HOME】环境
关键字【export】
6、在【hive-site.xml】文件中修改以下配置:
在hive-site.xml文件中修改相关配置内容,修改如下 修改属性“javax.jdo.option.ConnectionURL”的值为“jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true” 修改属性“javax.jdo.option.ConnectionDriverName”的值为“com.mysql.jdbc.Driver” 修改属性“javax.jdo.option.ConnectionUserName”的值为“root” 修改属性“javax.jdo.option.ConnectionPassword”的值为“123456” 修改属性“hive.querylog.location”的值为“/opt/soft/hive/tmp” 修改属性“hive.exec.local.scratchdir”的值为“/opt/soft/hive/tmp” 修改属性“hive.downloaded.resources.dir”的值为“/opt/soft/hive/tmp”
7、 在【/etc/profile.d/】下创建hive的脚本文件【hive.sh】,并添加环境变量【HIVE_HOME】,并执行此脚本文件。
关键字【export,$PATH,source】
8、复制MySQL的驱动包到【hive】的【lib】文件夹下
文件所在位置:
/opt/soft/mysql-connector-java-5.1.39.jar
9、启动【hadoop】以及进入【hive】
关键字【start-all.sh jps】
10、在【/opt/soft/hive/bin】文件夹下初始元数据仓库
关键字【./schematool -initSchema -dbType】
下方解析链接:
Hive基础02、安装Hive_红目香薰的博客-CSDN博客
三、导入数据并进行【HQL】查询(25分,前三项,每项5分,第四项10分)
1、创建学生成绩表
登录hive
代码语言:javascript复制hive
创建【mytest】数据库
代码语言:javascript复制create database mytest;
使用【mytest】数据库
代码语言:javascript复制use mytest;
创建表语句:
代码语言:javascript复制create table tb_map(id int,className string,name string,sex string,score map<string,float>)
row format delimited
fields terminated by 't'
collection items terminated by ','
map keys terminated by '='
lines terminated by 'n'
stored as textfile;
2、导入本地数据
代码语言:javascript复制load data local inpath '/opt/temp/info.cvs' into table tb_map;
3、重写覆盖导入hadoop的数据
退出【hive】
代码语言:javascript复制exit;
导入到hadoop的根路径
代码语言:javascript复制hadoop fs -put /opt/temp/info.txt /
登录hive覆盖导入
代码语言:javascript复制hive
使用【mytest】数据库
代码语言:javascript复制use mytest;
覆盖数据:
4、分别计算所有班级【男生】与【女生】的所有科目的总成绩与平均成绩。
各班级【男生】的所有科目的总成绩与平均成绩
代码语言:javascript复制select className,sum(score["java"]) sum(score["php"]) sum(score["python"]),round((avg(score["java"]) avg(score["php"]) avg(score["python"]))/3,2) from tb_map where sex='男' group by className;
各班级【女生】的所有科目的总成绩与平均成绩
代码语言:javascript复制select className,sum(score["java"]) sum(score["php"]) sum(score["python"]),round((avg(score["java"]) avg(score["php"]) avg(score["python"]))/3,2) from tb_map where sex='女' group by className;
代码语言:javascript复制1 地字一号 宿宿赵 女 java=64,php=84,python=66
2 地字一号 生华宿 男 java=86,php=65,python=98
3 黄字一号 湘彭管 女 java=78,php=83,python=97
4 东宫正品 王彭二 女 java=65,php=76,python=96
5 玄字一号 赵宿湘 男 java=84,php=84,python=65
6 地字一号 赵钱宿 男 java=99,php=90,python=91
7 玄字一号 生华梦 女 java=84,php=80,python=65
8 黄字一号 二彭宿 男 java=92,php=94,python=68
9 天字一号 星湘 男 java=100,php=84,python=98
10 地字一号 星胡彭 男 java=74,php=77,python=70
11 天字一号 里生星 男 java=85,php=82,python=70
12 天字一号 生胡赵 男 java=73,php=93,python=90
13 天字一号 管彭 男 java=85,php=72,python=96
14 地字一号 二赵韦 男 java=62,php=75,python=60
15 黄字一号 星王胡 男 java=83,php=91,python=87
16 东宫正品 湘琴赵 男 java=88,php=70,python=67
17 黄字一号 生风 女 java=81,php=99,python=84
18 玄字一号 管钱梦 女 java=71,php=94,python=93
19 东宫正品 琴春覃 男 java=91,php=66,python=78
20 黄字一号 王宿李 男 java=61,php=90,python=72
21 黄字一号 星韦邓张 女 java=62,php=84,python=78
22 黄字一号 风二钱 男 java=85,php=80,python=65
23 东宫正品 土风生 男 java=96,php=99,python=74
24 东宫正品 钱华赵 女 java=99,php=81,python=90
25 天字一号 二华赵 男 java=96,php=91,python=96
26 玄字一号 星彭赵 女 java=96,php=71,python=82
27 玄字一号 宿春土 男 java=65,php=67,python=88
28 东宫正品 华邓张华 女 java=61,php=74,python=72
29 天字一号 韦彭 男 java=82,php=92,python=73
30 地字一号 琴春胡 男 java=71,php=99,python=76
31 天字一号 管华胡 男 java=90,php=81,python=68
32 黄字一号 琴宿生 女 java=72,php=91,python=60
33 玄字一号 钱春管 男 java=99,php=95,python=65
34 黄字一号 韦生覃 女 java=83,php=68,python=88
35 东宫正品 胡宿 男 java=60,php=92,python=70
36 天字一号 生梦赵 男 java=74,php=100,python=76
37 天字一号 风春风 男 java=98,php=60,python=85
38 天字一号 赵管赵 男 java=100,php=78,python=82
39 玄字一号 二王赵 女 java=100,php=86,python=79
40 天字一号 王彭里 男 java=90,php=80,python=100
41 地字一号 管二邓张 男 java=78,php=91,python=99
42 天字一号 赵星湘 男 java=83,php=90,python=94
43 天字一号 管管胡 女 java=71,php=83,python=97
44 黄字一号 湘彭星 男 java=92,php=93,python=78
45 黄字一号 赵土邓张 女 java=60,php=62,python=81
46 黄字一号 梦王湘 男 java=99,php=70,python=81
47 玄字一号 彭二湘 男 java=99,php=98,python=71
48 黄字一号 风生管 男 java=70,php=77,python=71
49 天字一号 琴赵邓张 男 java=76,php=95,python=77
50 黄字一号 赵华宿 男 java=85,php=72,python=88
51 东宫正品 王春钱 女 java=65,php=89,python=87
52 黄字一号 王土李 女 java=91,php=79,python=68
53 东宫正品 琴王里 男 java=82,php=64,python=92
54 黄字一号 风赵李 男 java=63,php=67,python=72
55 地字一号 邓张赵春 男 java=76,php=98,python=87
56 地字一号 梦二生 男 java=68,php=96,python=96
57 东宫正品 覃华风 男 java=68,php=91,python=65
58 东宫正品 王梦覃 女 java=79,php=75,python=77
59 玄字一号 邓张王管 女 java=89,php=94,python=76
60 东宫正品 钱管王 男 java=87,php=99,python=85
61 东宫正品 赵里管 女 java=90,php=63,python=90
62 东宫正品 李韦星 女 java=79,php=87,python=79
63 玄字一号 李彭胡 男 java=76,php=67,python=89
64 地字一号 王宿星 男 java=67,php=96,python=94
65 玄字一号 星二湘 女 java=74,php=92,python=73
66 黄字一号 春风 男 java=85,php=80,python=77
67 东宫正品 梦韦邓张 男 java=67,php=62,python=74
68 东宫正品 华里韦 男 java=78,php=65,python=64
69 黄字一号 华宿琴 男 java=75,php=70,python=98
70 玄字一号 管管琴 男 java=80,php=67,python=64
71 黄字一号 彭王 女 java=85,php=88,python=81
72 黄字一号 里生 男 java=80,php=98,python=80
73 东宫正品 韦风生 女 java=60,php=94,python=81
74 东宫正品 生管胡 女 java=65,php=82,python=97
75 地字一号 生钱二 女 java=96,php=80,python=73
76 东宫正品 二琴里 女 java=83,php=63,python=97
77 黄字一号 星二王 女 java=99,php=64,python=61
78 东宫正品 土梦梦 女 java=76,php=95,python=74
79 天字一号 春土生 男 java=99,php=99,python=78
80 玄字一号 梦土春 男 java=93,php=82,python=73
81 地字一号 彭星钱 男 java=69,php=91,python=76
82 天字一号 李风管 女 java=60,php=61,python=63
83 地字一号 彭赵赵 男 java=78,php=78,python=62
84 天字一号 里胡胡 女 java=87,php=65,python=98
85 玄字一号 邓张覃覃 女 java=66,php=88,python=73
86 东宫正品 胡钱覃 男 java=90,php=80,python=75
87 天字一号 琴覃土 女 java=89,php=70,python=94
88 玄字一号 覃二琴 女 java=72,php=96,python=99
89 黄字一号 梦彭韦 男 java=79,php=91,python=85
90 地字一号 管生华 女 java=83,php=88,python=92
91 天字一号 宿宿生 女 java=95,php=87,python=70
92 玄字一号 赵彭钱 男 java=77,php=70,python=83
93 东宫正品 彭钱湘 男 java=66,php=89,python=87
94 天字一号 钱邓张琴 女 java=99,php=69,python=93
95 黄字一号 王管赵 男 java=89,php=61,python=84
96 黄字一号 韦风管 男 java=95,php=79,python=93
97 天字一号 春胡里 男 java=80,php=70,python=89
98 天字一号 彭春 女 java=96,php=74,python=95
99 地字一号 李里琴 男 java=77,php=97,python=73
100 黄字一号 管二风 女 java=99,php=89,python=63