Apache Pig 简明教程
Apache Pig - Architecture
用于使用 Pig 在 Hadoop 中分析数据的语言称为 Pig Latin 。它是一种高级数据处理语言,提供了丰富的数据类型和运算符,用于对数据执行各种操作。
为了执行特定的任务,使用 Pig 的程序员需要使用 Pig Latin 语言编写 Pig 脚本,并使用任何执行机制(Grunt Shell、UDF、Embedded)来执行它们。执行后,这些脚本将经历 Pig Framework 应用的一系列转换,以产生所需的输出。
在内部,Apache Pig 将这些脚本转换成一系列 MapReduce 作业,因此,它使程序员的工作变得轻松。Apache Pig 的架构如下所示。
Apache Pig Components
如图所示,Apache Pig 框架中有各种组件。让我们了解主要组件。
Pig Latin Data Model
Pig Latin 的数据模型是完全嵌套的,允许复杂非原子数据类型,如 map 和 tuple 。以下是 Pig Latin 数据模型的图表表示。
Atom
在 Pig Latin 中,任何单一值,无论其数据类型如何,都称为 Atom 。它存储为字符串,可以用作字符串和数字。int、long、float、double、chararray 和 bytearray 是 Pig 的原子值。数据片段或简单原子值称为 field 。
Example − ‘raja’ 或 ‘30’
Bag
集合是元组的无序集。换句话说,元组的集合(非唯一)称为集合。每个元组可以有任意数量的字段(灵活架构)。集合用 “{}” 表示。它类似于 RDBMS 中的表,但与 RDBMS 中的表不同,并不是每个元组都必须包含相同数量的字段或同一位置(列)的字段具有相同的类型。
Example − {(Raja, 30), (Mohammad, 45)}
集合可以是关系中的一个字段;在这种情况下,它称为 inner bag 。
Example − {Raja, 30, {9848022338, raja@gmail.com,} }