14.3 Pig Latin语言
14.3.1 Pig Latin语言简介
Pig Latin语言和传统的关系数据库中的数据库操作语言非常类似。但是Pig Latin语言更侧重于对数据的查询和分析,而不是对数据进行修改和删除等操作。另外,由于Pig Latin可以在Hadoop的分布式云平台上运行,它的这个特点可以让其具有其他数据库无法比拟的速度优势,能够在短时间内处理海量的数据。例如,处理系统日志文件、处理大型数据库文件、处理特定Web数据等。除此之外,我们在使用Pig Latin语言编写程序的时候,不必关心如何让程序能够更好地在Hadoop云平台上运行,因为这些任务都是由Pig系统自行分配的,不需要程序员参与。因此,程序员只需要专注于程序的编写即可,这样大大减轻了程序员的负担。
Pig Latin是这样一个操作:通过对关系(relation)进行处理产生另外一组关系[1]。Pig Latin语言在书写一条语句的时候能够跨越多行,但是必须以半角的分号来结束。Pig Latin语句通常按照下面的流程来编写:
1)通过一条LOAD语句从文件系统中读取数据;
2)通过一系列“转换”语句对数据进行处理;
3)通过一条STORE语句把处理结果输出到文件系统中,或者使用一条DUMP语句把处理结果输出到屏幕上。
LOAD和STORE语句有严格的语法规定,用户很容易就能掌握,关键是如何灵活使用“转换”语句对数据进行处理。
Pig Latin语言还可以对数据进行连接操作,在14.6节中,我们将通过一组例子,让用户对Pig Latin语言的特点有更好的体会。
[1]这个定义适用于除LOAD和STORE之外的所有操作,LOAD和STORE分别执行从文件系统读取和写入的操作。