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 ...