14.1 Pig简介

作为Apache项目的一个子项目,Pig提供了一个支持大规模数据分析的平台。Pig包括用来描述数据分析程序的高级程序语言,以及对这些程序进行评估的基础结构。Pig突出的特点就是它的结构经得起大量并行任务的检验,这使得它能够处理大规模数据集。

目前,Pig的基础结构层包括一个产生MapReduce程序的编译器。Pig的语言层包括一个叫做Pig Latin的文本语言,它具有以下主要特性:

易于编程。实现简单的和高度并行的数据分析任务非常容易。由相互关联的数据转换实例所组成的复杂任务被明确地编码为数据流,这使他们的编写更加容易,同时也更容易理解和维护。

自动优化。任务编码的方式允许系统自动去优化执行过程,从而使用户能够专注于语义,而非效率。

可扩展性。用户可以轻松编写自己的函数来进行特殊用途的处理。