1.why hive?
a) 方便对文件及数据的元数据进行管理,提供统一的元数据管理方式
b) 提供简单的方式来访问大规模的数据集,使用sql语言进行数据分析
2.what hive?
hive是一个数据仓库,通过sql读写、管理大数据集,也提供命令行工具以及jdbc方式访问hive。
Hive经常被大数据企业用作企业级数据仓库。
Hive在使用过程中使用sql语句来进行数据分析,有sql语句到具体的任务执行还需要经过解释器,编译器,优化器,执行器四个部分才能完成。
2.1 解释器: 调用语法解释器和语义分析器将sql语句转换成对应的可执行的java代码或者业务代码。
2.2 编译器: 将对应的java代码转换成字节码或者jar包
2.3 优化器: 从sql语句到java代码的解析转化过程需要调用优化器,进行相关策略的优化,实现最优的查询性能
3.数据仓库和关系库的差别
数据处理分类:联机事务处理OLAP(on-line transaction processing) 和 联机分析处理OLTP(on-line Analytical Processing)。
OLAP是数据仓库的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。
OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。
3.1 数据库是对业务系统的支撑,性能要求高,响应的时间短,而数据仓库则对响应时间没有太多的要求,当然越快越好。
3.2 数据库存储的是某一个产品线或者某个 业务线的数据,数据仓库可以将多个数据源的数据经过统一的规则清洗后进行统一管理。
3.3 数据库中存储的数据可以修改,无法保存各个历史时刻的数据,数据仓库可以保存各个时间点的数据,形成 时间拉链表,可以对各个历史时刻的数据做分析。
网友评论