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
hive
创建【mytest】数据库
create database mytest;
使用【mytest】数据库
use mytest;
创建表语句:
create table tb_map(id int,className string,name string,sex string,score map) row format delimited fields terminated by 't' collection items terminated by ',' map keys terminated by '=' lines terminated by 'n' stored as textfile;
2、导入本地数据
load data local inpath '/opt/temp/info.cvs' into table tb_map;
3、重写覆盖导入hadoop的数据
退出【hive】
exit;
导入到hadoop的根路径
hadoop fs -put /opt/temp/info.txt /
登录hive覆盖导入
hive
使用【mytest】数据库
use mytest;
覆盖数据:
4、分别计算所有班级【男生】与【女生】的所有科目的总成绩与平均成绩。
各班级【男生】的所有科目的总成绩与平均成绩
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;
各班级【女生】的所有科目的总成绩与平均成绩
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;
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



