天天看点

《Pig编程指南》一1.2 Pig发展简史

本节书摘来异步社区《pig编程指南》一书中的第1章,第1.2节,作者: 【美】alan gates 译者: 曹坤,更多章节内容可以访问云栖社区“异步社区”公众号查看。

pig最初是作为yahoo!的一个探索性的项目,yahoo!的科学家们设计了pig并且给出了一个原型实现。正如2008年发表在数据管理专业委员会(sigmod1})杂志的一篇论文所描述的,研究者认为hadoop所描述的mapreduce框架“过于底层和严格,需要用户花费大量时间编写代码,而且很难维护和重用。”同时他们注意到mapreduce用户对像sql这样的声明式语言并不熟悉。因此他们着手开发“一种叫做pig latin的新语言,这种语言被设计为在像sql这样的声明式类型的语言和像mapreduce这种较底层的过程式的语言之间达到一个非常好的平衡点。”

最初yahoo!的hadoop使用者开始采用pig。之后一个开发工程师团队开始接手pig的最初原型并将pig原型开发成一个达到产品级别的可用产品。在这个时间点左右,也就是2007年的秋天,pig通过apache孵化器进行开源。一年后也就是2008年的9月,pig的第一个发布版本出现了。同年的晚些时候,pig从孵化器中毕业,正式提升为apache hadoop项目的一个子项目。

2009年早期其他公司在他们的数据处理中开始使用pig。amazon也将pig加入它的弹性mapreduce服务中的一部分。2009年末,yahoo!公司所运行的hadoop任务有一半是pig任务。在2010年,pig发展持续增长,这一年pig从hadoop的子项目中脱离出来,自己成为了一个最高级别的apache项目。

为什么叫做pig 有一个问题经常被问起,那就是“为什么把它命名为pig?”人们还想知道是否pig这个词是由缩写字母组成的。回答是否定的。事实上最初开发这个项目的研究人员只是简单地把它称为“那种语言。”不过他们终究需要为它起个名字。一名研究人员的脑海中出现了pig这个单词,然后就提议称它为pig,这个名字一下子就让大家惊住了。这个名字古怪但是容易记也容易读。虽然有些人暗示这个名字听起来有点别扭或者傻,但是因这个名字促使了我们一个非常不错的命名方法,例如把这种语言命名为pig latin,把终端交互命名为grunt,把一个共享资源库性质的分支成为piggybank。