- Apache Pig 教程
- Apache Pig - 首页
- Apache Pig 简介
- Apache Pig - 概述
- Apache Pig - 架构
- Apache Pig 环境
- Apache Pig - 安装
- Apache Pig - 执行
- Apache Pig - Grunt Shell
- Pig Latin
- Pig Latin - 基础
- 加载 & 存储操作符
- Apache Pig - 读取数据
- Apache Pig - 存储数据
- 诊断操作符
- Apache Pig - 诊断操作符
- Apache Pig - Describe 操作符
- Apache Pig - Explain 操作符
- Apache Pig - Illustrate 操作符
- 分组 & 连接
- Apache Pig - Group 操作符
- Apache Pig - Cogroup 操作符
- Apache Pig - Join 操作符
- Apache Pig - Cross 操作符
- Pig Latin 内置函数
- Apache Pig - Eval 函数
- 加载 & 存储函数
- Apache Pig - Bag & Tuple 函数
- Apache Pig - 字符串函数
- Apache Pig - 日期时间函数
- Apache Pig - 数学函数
- Apache Pig 有用资源
- Apache Pig - 快速指南
- Apache Pig - 有用资源
- Apache Pig - 讨论
Apache Pig - 安装
本章解释如何在您的系统中下载、安装和设置Apache Pig。
先决条件
在安装 Apache Pig 之前,务必在您的系统上安装 Hadoop 和 Java。因此,在安装 Apache Pig 之前,请按照以下链接中给出的步骤安装 Hadoop 和 Java:
https://tutorialspoint.com/hadoop/hadoop_enviornment_setup.htm
下载 Apache Pig
首先,从以下网站下载最新版本的 Apache Pig:https://pig.apache.org/
步骤 1
打开 Apache Pig 网站的主页。在新闻部分,点击发布页面链接,如下面的快照所示。
步骤 2
点击指定的链接后,您将被重定向到Apache Pig 发布页面。在此页面上的下载部分,您将看到两个链接,即Pig 0.8 及更高版本和Pig 0.7 及更早版本。点击Pig 0.8 及更高版本链接,然后您将被重定向到包含一组镜像的页面。
步骤 3
选择并点击这些镜像中的任何一个,如下所示。
步骤 4
这些镜像将引导您进入Pig 发布页面。此页面包含 Apache Pig 的各种版本。点击其中最新的版本。
步骤 5
在这些文件夹中,您将拥有各种发行版中 Apache Pig 的源代码和二进制文件。下载 Apache Pig 0.15 的源代码和二进制文件的 tar 文件,pig0.15.0-src.tar.gz 和 pig-0.15.0.tar.gz。
安装 Apache Pig
下载 Apache Pig 软件后,请按照以下步骤在 Linux 环境中安装它。
步骤 1
在与Hadoop、Java和其他软件的安装目录相同的目录中创建一个名为 Pig 的目录。(在本教程中,我们在名为 Hadoop 的用户中创建了 Pig 目录)。
$ mkdir Pig
步骤 2
解压下载的 tar 文件,如下所示。
$ cd Downloads/ $ tar zxvf pig-0.15.0-src.tar.gz $ tar zxvf pig-0.15.0.tar.gz
步骤 3
将pig-0.15.0-src.tar.gz文件的内容移动到前面创建的Pig目录,如下所示。
$ mv pig-0.15.0-src.tar.gz/* /home/Hadoop/Pig/
配置 Apache Pig
安装 Apache Pig 后,我们需要对其进行配置。要进行配置,我们需要编辑两个文件:bashrc 和 pig.properties。
.bashrc 文件
在.bashrc文件中,设置以下变量:
PIG_HOME 文件夹指向 Apache Pig 的安装文件夹;
PATH 环境变量指向 bin 文件夹;
PIG_CLASSPATH 环境变量指向 Hadoop 安装的 etc(配置)文件夹(包含 core-site.xml、hdfs-site.xml 和 mapred-site.xml 文件的目录)。
export PIG_HOME = /home/Hadoop/Pig export PATH = $PATH:/home/Hadoop/pig/bin export PIG_CLASSPATH = $HADOOP_HOME/conf
pig.properties 文件
在 Pig 的conf文件夹中,我们有一个名为pig.properties的文件。在 pig.properties 文件中,您可以设置如下所示的各种参数。
pig -h properties
支持以下属性:
Logging: verbose = true|false; default is false. This property is the same as -v switch brief=true|false; default is false. This property is the same as -b switch debug=OFF|ERROR|WARN|INFO|DEBUG; default is INFO. This property is the same as -d switch aggregate.warning = true|false; default is true. If true, prints count of warnings of each type rather than logging each warning. Performance tuning: pig.cachedbag.memusage=<mem fraction>; default is 0.2 (20% of all memory). Note that this memory is shared across all large bags used by the application. pig.skewedjoin.reduce.memusagea=<mem fraction>; default is 0.3 (30% of all memory). Specifies the fraction of heap available for the reducer to perform the join. pig.exec.nocombiner = true|false; default is false. Only disable combiner as a temporary workaround for problems. opt.multiquery = true|false; multiquery is on by default. Only disable multiquery as a temporary workaround for problems. opt.fetch=true|false; fetch is on by default. Scripts containing Filter, Foreach, Limit, Stream, and Union can be dumped without MR jobs. pig.tmpfilecompression = true|false; compression is off by default. Determines whether output of intermediate jobs is compressed. pig.tmpfilecompression.codec = lzo|gzip; default is gzip. Used in conjunction with pig.tmpfilecompression. Defines compression type. pig.noSplitCombination = true|false. Split combination is on by default. Determines if multiple small files are combined into a single map. pig.exec.mapPartAgg = true|false. Default is false. Determines if partial aggregation is done within map phase, before records are sent to combiner. pig.exec.mapPartAgg.minReduction=<min aggregation factor>. Default is 10. If the in-map partial aggregation does not reduce the output num records by this factor, it gets disabled. Miscellaneous: exectype = mapreduce|tez|local; default is mapreduce. This property is the same as -x switch pig.additional.jars.uris=<comma seperated list of jars>. Used in place of register command. udf.import.list=<comma seperated list of imports>. Used to avoid package names in UDF. stop.on.failure = true|false; default is false. Set to true to terminate on the first error. pig.datetime.default.tz=<UTC time offset>. e.g. +08:00. Default is the default timezone of the host. Determines the timezone used to handle datetime datatype and UDFs. Additionally, any Hadoop property can be specified.
验证安装
键入 version 命令来验证 Apache Pig 的安装。如果安装成功,您将获得如下所示的 Apache Pig 版本。
$ pig –version Apache Pig version 0.15.0 (r1682971) compiled Jun 01 2015, 11:44:35