大数据hive,storm小知识(干货)
Hive简介 定义 Facebook为了解决海量日志数据的分析而开发了hive,后来开源给了Apache基金会组织。 hive是一种用SQL语句来协助读写、管理存储在HDFS上的大数据集的数据仓库软件。 为什么要使用Hive? 1) 从SQL角度,简单、容易上手、使用方便。 2) 从Hadoop角度,可以操作大规模的数据集,可以作为大数据的引擎。 3) 从MetaStore角度:有了这个之后,这些框架Pig/Impala/Presto/SparkSQL跟Hive可以共享元数据信息, 共享元数据即他们之间的元数据可以互通访问的,比如在Hive创建一张表,可以在SparkSQL能用,也可以在 Presto,Impala,Pig用。相反,在SparkSQL创建的表,在HIVE,Pig,Impala,Presto也能用。因为他们底层都是共享MetaStore。 Hive原理: hive内核: hive 的内核是驱动引擎,驱动引擎由四部分组成,这四部分分别是: ▪解释器:解释器的作用是将hiveSQL语句转换为语法树(AST)。 ▪编译器:编译器是将语法树编译为逻辑执行计划。 ▪优化器:优化器是对逻辑执行计划进行优化。 ▪执行器:执行器是调用底层的运行框架执行逻辑执行计划。 hive底层存储: hive的数据是存储在HDFS上,hive中的库和表可以看做是对HDFS上数据做的一个映射