大数据主流工具SQL与PigHive对比

Posted 花生米数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了大数据主流工具SQL与PigHive对比相关的知识,希望对你有一定的参考价值。


业内有这样一种说法,SQL虽然在大数据分析领域久经考验,但是无奈长江后浪推前浪,和炙手可热的Hadoop相比,SQL已经过时了。这个说法有点言过其实,现在很多的项目都是将Hadoop作为数据存储,然后利用SQL进行前端查询。这说明Hadoop需要一种高级查询语言的支持。


Hadoop MapReduce虽然能够进行数据分析,但是太复杂了。于是,开发人员开发出了类似SQL的Pig和Hive。


大数据时代,我们有很多的查询工具可以选择。虽然SQL占据着绝对优势,但是随着大数据的持续升温,也给了Apache Pig和Hive很大的发挥空间。工欲善其事必先利其器,如果选择了合适的平台和语言,会让数据的提取,处理和分析达到事半功倍的效果。


未来,数据会越来越大,数据分析必须要更易操作。处理速度快和操作简单必定成为大数据分析的主流趋势。


 主流工具 SQL  Pig  Hive 简单介绍  


大数据主流工具SQL与Pig、Hive对比


SQL——结构化查询语言(SQL)是程序员的最佳伴侣,主要用于处理和提取数据。大数据改变了数据处理和可视化的方式。但是SQL严格的关系数据库模式和声明特性依然是数据分析的标杆。尽管SQL市场广阔,但是大数据也对SQL的功能和性能提出了挑战。


大数据主流工具SQL与Pig、Hive对比

Pig——适合有SQL背景的程序员学习,其有以下两个特点:


1.放宽了对数据存储的要求

2.可以操作大型数据集


Apache Pig是雅虎在2006年开发,除了上述特点,它还有很好的可扩展性和性能优化。 


Apache Pig允许开发人员跟踪多个查询方法,从而降低了数据的重复检索。它支持复合数据类型(Map、Tuple、Bag),支持常见的数据操作,例如筛选、排序和Join。Apache Pig的这些特性得到了世界各地用户的认可,就连雅虎和推特也采用了Apache Pig。




Hive——尽管Apache Pig性能优异,但是它要求程序员要掌握SQL之外的知识。Hive和SQL非常相似,虽然Hive查询语言(HQL)有一定的局限性,但它仍然是非常好用的。Hive为MapReduce提供了很好的开源实现。它在分布式处理数据方面表现很好,不像SQL需要严格遵守模式。

  

数据的提取、处理和分析没有一个万全之策,需要综合多种因素来选择,例如数据存储方法,编程语言结构以及预期的结果。



 适用场景对比  

  

Pig  VS  SQL  


SQL在DBMS系统的运行速度要比MapReduce(Pig运行在PigLatin平台)快。然而,RDBMS的数据加载很具挑战,设置困难。 PigLatin在声明式执行计划、ETL流程和管道修改方面更有优势。

  

在很大程度上,SQL是声明式语言,而PigLatin是过程语言。SQL主要是指定完成的对象,即要完成“什么”,而Pig主要是制定完成的方式,即“如何”执行一个任务。在执行之前,Pig脚本要转化成MapReduce任务。不过,Pig脚本比相应的MapReduce任务要短,显著缩短了开发时间。

  


Hive  VS  SQL  


SQL是一个被广泛用于事务性和分析查询的通用数据库语言。而Hive是以数据分析为目标而设计的,这也决定了Hive会缺少更新和删除功能,但是读取和处理海量数据的能力会很强。Hive和SQL是非常相似的,最主要的区别就是Hive缺少更新和删除功能。


尽管Hive和SQL有所区别,但是如果你有SQL背景,就可以平稳过渡到Hive。另外,一定要注意两者在结构和语法上的差异。


相信大家通过上面对Pig、Hive和SQL的介绍,对它们都有了一定的了解,下面我们就来介绍一下它们的具体适用场景。

  


Apache Pig 的适用场景  


Apache Pig适用于非结构化的数据集,可以充分利用SQL。Pig无需构建MapReduce任务,如果你有SQL学习的背景,那么入门会非常快。

  


Apache Hive 的应用场景  


很多企业都需要对历史数据进行分析,Hive就是一款分析历史数据的利器。但是Hive只有在结构化数据的情况下才能大显神威。Hive的软肋是实时分析,如果想要进行实时分析,可以采用HBase。

  


SQL 的应用场景  


SQL是三者之中资历最老的数据分析工具,随着用户需求的不断变更,SQL也在不断的自我更新,现在仍然是一个与时俱进的工具。对专业的数据分析师来说,毫无疑问,SQL比Excel要强,但是,它在快速处理和分析数据方面仍然存在着短板。如果数据要求不是很苛刻,SQL是一个很好的选择,它的广泛性和灵活性得到了开发人员的认可。


因为绝大数的开发人员都熟悉SQL,所以可以马上上手,同时SQL还提供了一些扩展和优化功能,可以根据需求来定制产品。

 

现在还没有任何一个工具可以适用所有的数据,SQL、Pig和Hive都有各自的适用场景,所以适合自己应用场景的工具就是最好的工具。





以上是关于大数据主流工具SQL与PigHive对比的主要内容,如果未能解决你的问题,请参考以下文章

对比PigHive和SQL,浅谈大数据工具差异

浅看大数据工具之间的差异:对比PigHive和SQL

对比PigHive和SQL,浅看大数据工具之间的差异

3大主流NoSQL数据库性能对比测试报告

上海Cloudera 数据分析师培训:PigHive和 Impala

主流大数据平台及解决方案对比