Apache Hive在本质上属于一套数据仓储平台,用于同存储在HDFS或者HBase内的大规模结构化数据集进行交互。Hive查询语言在这一点上类似于SQL,二者都能够与Hadoop实现良好集成。而Pig则不同,其执行流程为纯声明性,因此适合供数据科学家用于实现数据呈现与分析。
在与Hive进行交互时,用户可以直接通过Hive命令行界面直接接入,或者与Hiveserver交互。任何提交查询都会首先由该驱动程序占用,而后由编译器进行语法及语义验证。另外,Hive metastore负责保存全部与Hive相关数据的模式/映射关系,其在验证查询中信息语义方面扮演着重要角色。该驱动立足于语义之上执行优化,同时负责准备执行规划并将其提交至HQL查询引擎。这套引擎依赖于实际执行引擎(例如MapReduce与Spark等)。任何对模式的成功修改都会通过HQL处理引擎被更新至metastore当中。
大家可以参阅更多细节信息:
https://en.wikipedia.org/wiki/Apache_Hive
Pig: