本文概述
Pig Latin是Apache Pig用于分析Hadoop中数据的一种数据流语言。它是一种文本语言, 将Java MapReduce习惯用法中的编程抽象为一种表示法。
Apache Pig拉丁语
Pig Latin语句用于处理数据。它是一个运算符, 接受一个关系作为输入并生成另一个关系作为输出。
- 它可以跨越多行。
- 每个语句必须以分号结尾。
- 它可能包括表达式和模式。
- 默认情况下, 使用多查询执行来处理这些语句
Apache Pig拉丁约定
惯例 | 描述 |
---|---|
( ) | 括号可以包含一个或多个项目。它也可以用来指示元组数据类型。示例-(10, xyz, (3, 6, 9)) |
[ ] | 直括号可以包含一个或多个项目。它也可以用来指示地图数据类型。示例-[INNER |外] |
{ } | 大括号括起来的两个或多个项目。它还可以用于指示bag数据类型。示例-{block | nested_block} |
… | 水平的省略号点表示你可以重复一部分代码。示例-猫路径[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格式定义字符数组。示例-srcmini |
bytearray | 它定义字节数组。 |
boolean | 它定义了布尔类型值。示例-正确/错误 |
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] |
评论前必须登录!
注册