Pig Latin

Pig Latin 是一种数据流语言,Apache Pig 使用它来分析 Hadoop 中的数据。它是一种文本语言,将 Java MapReduce 习语中的编程抽象为符号。

 

Pig Latin 语句

Pig Latin 语句用于处理数据.它是一个运算符,接受一个关系作为输入并生成另一个关系作为输出。

  • 它可以跨越多行。
  • 每条语句都必须以分号结尾。
  • 它可能包括表达式和架构。
  • 默认情况下,这些语句使用多查询执行进行处理

Pig Latin 约定

公约 说明
( ) 括号可以包含一项或多项。也可用于表示元组数据类型。 示例-(10, xyz,(3,6,9))
[ ] 直括号可以包含一项或多项。它还可用于指示地图数据类型。 示例-[内部 |外]
{ } 大括号包含两个或多个项目。也可用于指示包数据类型 示例-{ block |嵌套块}
... 水平省略号点表示您可以重复部分代码。 示例-cat path [path ...]

 

Latin 数据类型

简单数据类型

类型 说明
int 它定义了有符号的 32 位整数。 示例-2
long 它定义了有符号的 64 位整数。 示例-2L 或 2l
float 它定义了 32 位浮点数。 示例-2.5F 或 2.5f 或 2.5e2f 或 2.5.E2F
double 它定义了 64 位浮点数。 示例-2.5 或 2.5 或 2.5e2f 或 2.5.E2F
chararray 它以Unicode UTF-8 格式定义字符数组。 示例-lidihuo
bytearray 它定义了字节数组。
boolean 它定义了布尔类型值。 示例-true/false
datetime 它按日期时间顺序定义值。 示例-1970-01-01T00:00:00.000+00:00
biginteger 它定义了 Java BigInteger 值。 示例-5000000000000
bigdecimal 它定义了 Java BigDecimal 值。 示例-52.232344535345

复杂类型

类型 说明
tuple 它定义了一组有序的字段。 示例-(15,12)
bag 它定义了一组元组。 示例-{(15,12),(12,15)}
map 它定义了一组键值对。 示例-[open#apache]

Apache Pig 支持多种数据类型。下面给出了带有描述和示例的 Apache Pig 数据类型列表。类型说明示例Int有符号的 32 位整数2Long有符号的 64 位整数15L 或 15lFloat32 位浮点2.5 ...