学习Hive内容思维导图
1.Hive简介:
Hive是基于hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库的表,并且提供类SQL查询的功能。
本质还是将SQL转换为MapReduce/Spark的任务进行运算的,底层是由hdfs提供数据的存储。
2.为什么用hive?
- 学习MapReduce的成本比较高,项目的周期要求太短,MapReduce如果要实现复杂的查询逻辑开发的时候难度是比较大的。
- 如果使用hive,hive采用操作接口类似SQL语法,提高了快速开发的能力,又避去了书写MapReduce,减少了学习成本,而且提供了功能的扩展。
3.Hive的特点有哪些:
1. 可扩展 : Hive 可以自由的扩展集群的规模,一般情况下不需要重启服务。
2. 延展性 : Hive 支持用户自定义函数,用户可以根据自己的需求来实现自
己的函数。
3. 容错 : 良好的容错性,节点出现问题 SQL 仍可完成执行。
4.分桶和分区表的区别
分区与分桶对比:
① 分区针对的是数据的存储路径;数据存到不同的目录下,防止全表扫描
② 分桶针对的是数据文件。把一个文件分成多个不同的文件,类似于mapReduce分区
切片 :把一个文件分多个文件 数据量极大的情况下
③ 分区提供一个隔离数据和优化查询的便利方式。不过,并非所有的数据集都可形成合理的④分区,特别是之前所提到过的要确定合适的划分大小这个疑虑。
⑤ 分桶是将数据集分解成更容易管理的若干部分的另一个技术。