构建在Hadoop之上的
数据仓库,数据计算使用MR,数据存储使用HDFS
因为数据计算使用mapreduce,因此通常用于进行离线数据处理
Hive 定义了一种类 SQL 查询语言——HQL
类似SQL,但不完全相同
可认为是一个HQL-->MR的语言翻译器。
简单,容易上手
有了Hive,还需要自己写MR程序吗?
Hive的HQL表达的能力有限
迭代式算法无法表达
有些复杂运算用HQL不易表达
Hive
效率较低
Hive自动生成MapReduce作业,通常不够智能;
HQL调优困难,粒度较粗
可控性差
Hive各模块组成
用户接口
包括 CLI,JDBC/ODBC,WebUI
元数据存储(metastore)
默认存储在自带的数据库derby中,线上使用时一般换为MySQL
驱动器(Driver)
解释器、编译器、优化器、执行器
Hadoop