##1.简述Hive工作原理(hive是什么,启用了哪些接口,内部做了哪些操作,最后才实现了把sql语句转换成mr程序)

hivesql如果没有转化成mr程序会怎样执行 hive转mr原理_hive


1、执行查询:Hive接口,命令行或 web UI发送查询驱动程序

2、get Plan:驱动程序查询编译器

3、词法分析/语法分析

4、语义分析

5、逻辑计划产生

6、逻辑计划优化

7、物理计划生成

8、物理计划优化

9、物理计划执行

10、查询结果返回
hive 本质是将HIVE SQL转化成MapReduce程序

客户端发出sql语句,由hive处理转换成MapReduce,然后再提交任务到hadoop集群。


2.hive 内部表和外部表区别

  • 1、建表语法的区别
  • 外部表在创建的时候需要加上external关键字
  • 2、删除表之后的区别
  • 内部表删除后,表的元数据和真实数据都被删除了
  • 外部表删除后,仅仅只是把该表的元数据删除了,真实数据还在,后期还是可以恢复出来
    通常情况下我们都会使用外部表保证数据安全性,但是像中间表,结果表这种我们就会考虑使用内部表(管理表)

3.有以下格式的数据创建出合适的表结构,并将数据导入表中

战狼2,吴京:吴刚:卢婧姗,2017-08-16
大话西游,周星驰:吴孟达,1995-09-01
哪吒,吕艳婷:瀚墨,2019-07-26
使徒行者2,张家辉:古天乐:吴镇宇,2019-08-07
鼠胆英雄,岳云鹏:佟丽娅:田雨:袁弘,2019-08-02

create table t_movie(movie_name string,actors array<string>,first_date date)
row format delimited
fields terminated by ','
collection items terminated by ':'
;

3.1 查询出每个电影的第二个主演
3.2 查询每部电影有几名主演
3.3 主演里面包含古天乐的电影

4.有以下格式的数据创建出合适的表结构,并将数据导入表中

1,张三,18:male:北京
2,李四,29:female:上海
3,杨朝来,22:male:深圳 
4,蒋平,34:male:成都
5,唐灿华,25:female:哈尔滨
6,马达,17:male:北京
7,赵小雪,23:female:杭州
8,薛文泉,26:male:上海
9,丁建,29:male:北京

4.1 查询出每个人的id,名字,居住地址

5.有以下格式的数据创建出合适的表结构,并将数据导入表中

1,小明,father:张三#mother:李丽#brother:小力,28
2,小华,father:李四#mother:吴姗#sister:小静,16
3,Aaron,father:Abbot#mother:Abby#brother:Abner,18
4,张启然,father:张雨勇#mother:蒋箐#sister:张业丽,21
5,马钰林,father:马洪思#mother:郑小涵#brother:马靖文,27
6,曾畅,father:曾文来#mother:房彤媛#sister:曾婉沁,21
7,韩文尧,father:韩石泉#mother:郑红珊#sister:韩妤,25
8,Dailey,father:Eddie#mother:Lacey#brother:Karla,18

5.1 查看每个人的父亲
5.2 每个人有哪些亲属关系
5.3 查出每个人的亲人名字
5.4 查出每个人的亲人数量
5.5 查出所有拥有兄弟的人的id和名字