- Apache Pig 教程
- Apache Pig - 主页
- Apache Pig介绍
- Apache Pig - 概述
- Apache Pig - 架构
- Apache Pig 环境
- Apache Pig - 安装
- Apache Pig - 执行
- Apache Pig - Grunt Shell
- 猪拉丁语
- 猪拉丁语 - 基础知识
- 加载和存储操作符
- Apache Pig - 读取数据
- Apache Pig - 存储数据
- Pig Latin 内置函数
- Apache Pig - 评估函数
- 加载和存储功能
- Apache Pig - 袋和元组函数
- Apache Pig - 字符串函数
- Apache Pig - 日期时间函数
- Apache Pig - 数学函数
- Apache Pig 有用资源
- Apache Pig - 快速指南
- Apache Pig - 有用的资源
- Apache Pig - 讨论
Apache Pig - 执行
在上一章中,我们解释了如何安装 Apache Pig。在本章中,我们将讨论如何执行 Apache Pig。
Apache Pig 执行模式
Apache Pig 可以以两种模式运行,即本地模式和HDFS 模式。
本地模式
在此模式下,所有文件都从本地主机和本地文件系统安装并运行。不需要 Hadoop 或 HDFS。该模式一般用于测试目的。
映射缩减模式
MapReduce 模式是我们使用 Apache Pig 加载或处理 Hadoop 文件系统 (HDFS) 中存在的数据的地方。在这种模式下,每当我们执行 Pig Latin 语句来处理数据时,都会在后端调用 MapReduce 作业,对 HDFS 中存在的数据执行特定操作。
Apache Pig 执行机制
Apache Pig脚本可以通过三种方式执行,即交互模式、批处理模式和嵌入模式。
交互模式(Grunt shell)- 您可以使用 Grunt shell 以交互模式运行 Apache Pig。在此 shell 中,您可以输入 Pig Latin 语句并获取输出(使用 Dump 运算符)。
批处理模式(脚本)- 您可以通过在扩展名为.pig 的单个文件中编写 Pig Latin 脚本来以批处理模式运行 Apache Pig 。
嵌入式模式(UDF) - Apache Pig 提供了在 Java 等编程语言中定义我们自己的函数(用户定义函数)的功能,并在我们的脚本中使用它们。
调用 Grunt Shell
您可以使用-x选项以所需模式(本地/MapReduce)调用 Grunt shell,如下所示。
本地模式 | MapReduce模式 |
---|---|
命令 - $ ./pig –x 本地 |
命令 - $ ./pig -x 映射缩减 |
输出- |
输出- |
这些命令中的任何一个都会为您提供 Grunt shell 提示符,如下所示。
grunt>
您可以使用“ctrl + d”退出 Grunt shell 。
调用Grunt shell后,您可以直接在其中输入Pig Latin语句来执行Pig脚本。
grunt> customers = LOAD 'customers.txt' USING PigStorage(',');
以批处理模式执行 Apache Pig
您可以在文件中编写整个 Pig Latin 脚本并使用–x 命令执行它。假设我们在名为Sample_script.pig 的文件中有一个 Pig 脚本,如下所示。
样本脚本.pig
student = LOAD 'hdfs://localhost:9000/pig_data/student.txt' USING PigStorage(',') as (id:int,name:chararray,city:chararray); Dump student;
现在,您可以执行上述文件中的脚本,如下所示。
本地模式 | MapReduce模式 |
---|---|
$ pig -x 本地Sample_script.pig | $ pig -x mapreduce Sample_script.pig |
注意- 我们将在后续章节中详细讨论如何在Bach 模式和嵌入模式下运行 Pig 脚本。