Hive的替代工具中最有名的就是Pig了(http:pig。apache。org)。Pig是由Yahoo开发完成的,而同时期Fackbook正在开发Hive。因此Pig现在同样也是一个和Hadoop紧密联系的顶级Apache项目,它同样也是一个大数据分析的产品。 Pighadoop和Hivehadoop有一个相似的目标它们是减轻编写复杂javaMapReduce程序的工具。他们可以用PigLatin或HiveSQL语言来构建MapReduce程序,从而减少了整体开发和测试时间。但是,他们两者有啥区别,首先看下pig的设计原理。Hadoop中的Pig Pig是一个在Hadoop集群上运行的脚本平台,旨在处理和分析大型数据集。Pig常用一种叫做PigLatin的语言,类似SQL,来分析查询数据。虽然它与SQL类似,但是语法上有着显著不同。 Pig的突出之处在于它可以处理各种类型的数据,包括结构化、半结构化和非结构化数据,Pig都能处理。 ApachePig旨在分析大型数据集,而无需使用耗时且复杂的Java代码,基本上10行代码需要java200行代码来完成,Pig设计的初衷就是为非程序员开发的。两者区别: 特征 Hive Pig 1。语言 Hive使用一种称为HiveQL的声明性语言 在PigLatin中,使用过程数据流语言 2。架构 Hive采用元数据架构与Hadoop关联 在Pig中存储数据不需要创建对应元数据 3。数据处理 Hive适用用于批处理 Pig是一种高级数据流语言 4。分区 是的 不。Pig不支持分区 5。网页界面 Hive有一个Web界面 Pig不支持网页界面 6。用户规范 数据分析师是主要用户 程序员和研究人员使用Pig 7。用于 报告 编程 8。数据类型 Hive处理结构化数据。不适用于其他类型的数据 Pig处理结构化、半结构化和非结构化数据 9。操作 在集群的服务器端工作 在集群的客户端工作 10。加载速度 Hive加载需要时间,但执行速度很快 Pig快速加载数据 11。JDBCODBC 支持,但有限 不支持 Hive和Pig都是出色的数据分析工具,都有自己的优缺点,但它们确实具有不同的功能和特性。