1、定义
1.pig是在HDFS和MapReduce之上的数据流处理语言(一种操作hadoop的轻量级脚本语言,编程语言),
它将数据流处理翻译成多个MapReduce函数,提供更高层次的抽象将程序员从具体的编程中解放出来。
2.Pig内置的操作使得半结构化数据变得有意义(如日志文件)。
同时Pig可扩展使用Java中添加的自定义数据类型并支持数据转换。
也就是说,Pig最大的作用就是对mapreduce算法(框架)实现了一套shell脚本 ,
类似我们通常熟悉的SQL语句,在Pig中称之为Pig Latin,
在这套脚本中我们可以对加载出来的数据进行排序、过滤、求和、分组(group by)、关联(Joining),
Pig也可以由用户自定义一些函数对数据集进行操作,也就是传说中的UDF(user-defined functions)。
3.结论性的阅读感觉是:Pig用来写一些即时脚本吧,比如领导问你要份数据,半个小时要出来之类;
Hive嘛,就是一个产品经理过来,问这个啥回事?于是你Hive一下,一个简洁的类SQL语句...Done!
4.Pig包含两个部分:Pig Interface,Pig Latin。
Pig可以非常方便的处理HDFS和HBase的数据,和Hive一样,Pig可以非常高效的处理其需要做的,
通过直接操作Pig查询可以节省大量的劳动和时间。当你想在你的数据上做一些转换,
并且不想编写MapReduce jobs就可以用Pig.
5.Pig适合有SQL背景的学习,有以下两个特点:
放宽了对数据存储的要求
能够轻松操作大型数据集
2、不推荐理由:
最初又雅虎公司推出,不过现在正在走下坡路了。
当初雅虎自己慢慢退出pig的维护之后将它开源贡