6月04日第二十四次早课【Hive】
1. hive数据分为哪两块?分别存储在哪?
metadata data | mysql hdfs
2. hive的建表SQL语句你们觉得里有哪些内容?(不光光是字段的定义)
名词解释:
row 行
format 格式化
delimited 划定界限的
fields 区域
terminated 终止
3. 默认的换行符和分割符是什么?
换行/t 分割/r
4. 加载数据或本地数据到hive表或者覆盖hive表,语法是什么?
[LOCAL]
表示数据文件在本地还是hdfs上
如果是加载hdfs上文件数据到表中去,实质是将hdfs上文件move到对应的hive表中的目录下。
* [OVERWRITE]
表示是否覆盖表中已有的数据
加载本地文件到hive中 列子:
load data local inpath xx into table xxx
load data local inpath '/opt/hive-0.13.1/emp.txt' into table emp ;
5.hive的执行引擎是mr,请问哪种hive SQL是触发mr job的
聚合分组
6. create table a as select * from b; 你们觉得有没有mr job?(好像要加as 我不太确认)
有
7. 谈谈你们对分区表的理解? 怎样定义的,怎样加载数据,怎么查询
8. 静态分区表和动态分区表是什么区别?
静态分区SP(static partition) 动态分区DP(dynamic partition) 静态分区与动态分区的主要区别在于静态分区是手动指定,而动态分区是通过数据来进行判断。详细来说,静态分区的列实在编译时期,通过用户传递来决定的;动态分区只有在SQL执行
9. 查看函数的是什么语法?
1. 查看month 相关的函数
show functions like '*month*'
输出如下:
2.查看 add_months 函数的用法
desc function add_months;
3. 查看 add_months 函数的详细说明并举例
desc function extended add_months;
10. (拓展题)hive一般我们用来做数据插入和追加,不会去更新删除数据,那么hive支持这种操作吗?该加什么参数呢?
支持