5分钟
元数据存储
Hive数据仓库将元数据存储在关系数据库RDBMS中,如MySQL、Derby。Hive中的元数据包括表的名字、表的列和分区及其属性、表的属性(是否为外部表等)、表的数据所在目录等。
通过解释器、编译器、优化器来完成HQL查询语句,HQL查询语句由词法分析、语法分析、编译、优化及查询计划等生成。把生成的查询计划存储在HDFS分布式文件系统中,接着在MapReduce调用时执行。
Hive的数据存储在HDFS中,大部分查询是通过MapReduc完成的,但是带有*的查询(如select*fromt bl)是不会生成MapRedcue任务的。
通过以下三种模式可以连接到数据库。
(1)SingleUserMode:此模式连接到一个In-memory的数据库Derby,一般用于UnitTest。
(2)MultiUserMode:通过网络连接到一个数据库中,是最经常使用的模式。
(3)RemoteServerMode:用于非Java客户端访问元数据库,在服务器端启动一个MetaStoreServer,客户端通过Thrift协议,采用MetaStoreServer来访问元数据库。
学员评价