您现在的位置 >> Hadoop教程 >> Hadoop实战 >> hadoop,hive专题  
 

hadoop家族Pig和Hive有什么不同啊?

【作者:Hadoop实战专家】【关键词:加载 数据 hadoop 进行 】 【点击:63163次】【2014-03-1】
对于开发人员,直接使用Java APIs可能是乏味或容易出错的,同时也限制了Java程序员在Hadoop上编程的运用灵活性。和RDBMS相同。Hive要求所有数据必须存储在表中,表必须有模式,而模式由Hive进行管理。Pig可加载数据、表达转换数据以及存储最终结果。  

相关热门搜索:

大数据标签:hadoop hdfs mapreduce hive bigdata

对于开发人员,直接使用Java APIs可能是乏味或容易出错的,同时也限制了Java程序员在Hadoop上编程的运用灵活性。于是Hadoop提供了两个解决方案,使得Hadoop编程变得更加容易。
HIVE简单来讲是为传统数据库工程师服务的,可以把sql转换为MapReduce
HIVE介于Pig和传统的RDBMS之间,和Pig一样,Hive也被设计为HDFS作为存储,但是他们之间有着显著的区别。Hive的查询语言HiveQL,是基于SQL的。任何熟悉SQL的人都可以轻松使用HiveQL写查询。和RDBMS相同。Hive要求所有数据必须存储在表中,表必须有模式,而模式由Hive进行管理。但是Hive允许为预先存在于HDFS的数据关联一个模式。所以,数据的加载步骤是可选的。和Pig一样,Hive也不支持低时延查询。
Pig是一种编程语言,Pig相比Hive相对轻量,它主要的优势是相比于直接使用Hadoop Java APIs可大幅削减代码量,它简化了Hadoop常见的工作任务。Pig可加载数据、表达转换数据以及存储最终结果。Pig内置的操作使得半结构化数据变得有意义(如日志文件)。同时Pig可扩展使用Java中添加的自定义数据类型并支持数据转换。
Pig最大的作用就是对mapreduce算法(框架)实现了一套shell脚本 ,类似我们通常熟悉的SQL语句,在Pig中称之为Pig Latin,在这套脚本中我们可以对加载出来的数据进行排序、过滤、求和、分组(group by)、关联(Joining),Pig也可以由用户自定义一些函数对数据集进行操作,也就是传说中的UDF(user-defined functions)。
Pig利用MapReduce将计算分成两个阶段,第一个阶段分解成为小块并且分布到每一个存储数据的节点上进行执行,对计算的压力进行分散,第二个阶段聚合第一个阶段执行的这些结果,这样可以达到非常高的吞吐量,通过不多的代码和工作量就能够驱动上千台机器并行计算,充分的利用计算机的资源,打消运行中的瓶颈。

大数据系列hadoop,hive相关文章:

最新评论
loveli2014-09-10 04:43:25
额,小伙子觉悟不错
arch19112014-09-10 06:48:20
基本上吃吃饭 看看电影 逛逛街 有啥好玩的地方去逛逛.
想你的夜2014-09-09 01:10:39
你发的是神马玩意
八度2014-09-09 04:13:40
每日一读
草上飞2014-09-08 04:04:09
[图片]
俊哥2014-09-07 02:36:35
|
E时代~2014-09-06 03:38:01
#迅雷下载分享#a44020703以548.06 KB/S的平均速度下载了[The.Hobbit-The.Desolation.of....XVID.AC3.Hive-CM8.avi][1.99 GB]http://t.cn/8F7txPi
 
  • Hadoop生态系统资料推荐