HiveDataSource hivedatasource.init什么作用
转载
- Hive 就是一个数据仓库,仓库中的数据都是在 HDFS中管理的数据文件
- Hive 支持类似 SQL 语句的功能,你可以通过这些语句来进行数据分析,Hive 会把这些语句转换成可执行的 MapReduce 代码,然后进行计算
- 负责与使用者的交互,我们通过 UI 向系统提交查询和其他操作
- 驱动器(Driver)
- 驱动器在接收 HiveQL 语句之后,创建会话来启动语句的执行,并监控执行的生命周期和进度
- 编译器接收驱动器传来的 HiveQL,并从元数据仓中获取所需要的元数据,然后对 HiveQL 语句进行编译,将其转化为可执行的计划
- 执行引擎(Execution Engine)
- 执行器将执行任务。它对 Hadoop 的作业进行跟踪和交互,调度需要运行的任务。
- 元数据仓(Metastore)
- 元数据指的是我们构建的 Hive 表的表名、表字段、表结构、分区、类型、存储路径等等
- 元数据通常存储在传统的关系型数据库中,比如 MySQL
- Hive 的底层数据仍然是存储在 HDFS 上的,所以速度比较慢,只适合离线查询
- 不支持单条数据操作
- 不能任意修改 HDFS 里的数据,所以 Hive 也不行,要想修改数据只能整个文件进行替换。
- HBase 只是利用 Hadoop 的 HDFS 帮助其管理数据的持久化文件
- 行数据的唯一标识
- 列簇(Column Family)
- 看作是一组列,实际上一个列簇的作用也是用来管理若干个列,优化查询速度
- 列簇的名字要尽量短,同时对于经常需要一起查询的列放在一个列簇下面
- 列簇需要预先定义,而列不需要,如果要新增列簇就要先停用这个表
- 指的是一个确定的存储单元。通过 Row Key、列簇 、列名以及版本号来确定。
- 时间戳(Timestamp)
- 用来标记前面说的一份数据的不同版本。
- 区域(Region)
- HBase 不能支持条件查询,也不能用 SQL 语句进行查询。在使用的时候,一般只能使用Row Key 来进行查询。
- HBase 支持实时随机查询的特性,主要使用 HBase 进行大量的明细数据的随机实时查询
- Hive 本身并不解决存储的问题,它只是把 HDFS 中的结构化数据进行了展示,而最核心的功能是实现了对这些结构化文件的查询
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。