Hive面试题
Hive
1. Hive核心
Hive(离线数仓)核心是把SQL语法转换为MapReduce
2. Hive和Hadoop关系
Hive利用Hadoop的HDFS存储实际数据和利用MapReduce分析数据
3. Hive有几种表类型,各有什么特点?
- 内部表:删除内部表时会将Metastore中的元数据和HDFS中的数据一起删除
-
- Hive创建表时默认选择内部表
-
- 当需要通过Hive完全管理控制表的整个生命周期时,使用内部表
- 外部表:删除外部表,只会删除元数据,不会删除HDFS中的数据
-
- 适合多人同时操作数据库时建立的表
- 分区表:通过分区把不同类型的数据放在不同的目录中
-
- 意义在于优化查询,减少全表扫描
- 分桶表:根据哈希值取余计算,将余数相同的数据保存在同一个文件夹下。
-
- 意义在于优化查询,减少全表扫描
-
- 比分区表划分的更加精细,但是数据平均,适合数据抽样
-
- JOIN时可以提高MR程序效率,减少笛卡尔积数量
Hive的优化手段
- 分区、分桶
- 开启Map聚合