Pig Latin

2024 年 8 月 28 日 | 阅读 2 分钟

Pig Latin 是一种数据流语言,由 Apache Pig 用于分析 Hadoop 中的数据。它是一种文本语言,将编程从 Java MapReduce 惯用法抽象为一种表示法。

Pig Latin 语句

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

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

Pig Latin 约定

约定描述
( )圆括号可以包含一个或多个项目。它也可以用来指示元组数据类型。
示例 - (10, xyz, (3,6,9))
[ ]方括号可以包含一个或多个项目。它也可以用来指示 map 数据类型。
示例 - [INNER | OUTER]
{ }大括号包含两个或更多项目。它也可以用来指示 bag 数据类型
示例 - { block | nested_block }
...水平省略号表示您可以重复代码的一部分。
示例 - cat path [path ...]

拉丁数据类型

简单数据类型

类型描述
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 格式的字符数组。
示例 - javatpoint
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]
下一主题Pig 数据类型