《Pig编程指南》一2.1 下载和安装Pig

2.1 下载和安装Pig

用户需要下载和安装Pig,才能在本地机器或者Hadoop集群上使用它。如果用户已经了解并完成了这一操作,那么可以直接跳到2.2节“运行Pig”进行阅读。

用户既可以直接下载Pig安装包也可以先下载源代码然后自行进行编译。当然同样也可以以Hadoop分支的方式获得Pig。

2.1.1 从Apache下载Pig软件包

这个是Apache Pig的官方版本。它是一个软件包,里面包含了运行Pig所需的所有JAR包。用户可以通过访问Pig发布页面进行下载。

Pig不需要安装到Hadoop集群中去。它运行在用户提交Hadoop任务的那台机器上。尽管用户可以从个人笔记本电脑或者台式计算机运行Pig,但是在实际操作中,大部分的集群管理员会配置好一到多台可以访问他们Hadoop集群的服务器,虽然这些服务器可以不是集群的一部分(也就是说它们既不是数据节点也不是计算节点)。通过这种方式,管理员可以方便地升级Pig和将工具集成在一起,同时也可以很好地限制人员对于集群的访问。这些机器被称为网关机或者缝边机。本书中我称之为网关机。

用户需要在这些网关机上安装Pig。如果用户是通过个人台式计算机或者笔记本电脑访问Hadoop集群的话,那么同样需要在个人台式计算机或者笔记本电脑上安装Pig。当然,如果用户想通过本地模式使用Pig的话,那么也可以将Pig安装到个人的本地机器上。

Pig的核心是用Java语言编写的,因此它是跨平台的。启动Pig的shell脚本是个bash脚本,所以它需要一个Unix环境。Pig所基于的Hadoop,即使使用的是本地模式,也需要是UNIX环境的,因为Hadoop的文件操作是基于UNIX的。实际情况是,大部分的Hadoop集群采用的是Linux系统。很多Pig开发者是在Mac OS X系统上开发和测试Pig的。

Pig需要Java 1.6支持,Pig版式从0.5到0.9需要Hadoop 0.20版本支持。对于以后的版本,请在下载页面确认该版本需要对应的Hadoop版本是多少。下载的Pig中会包含与它对应的Hadoop。如果用户想在本地模式下使用Pig或者想把它安装到一个没有安装Hadoop的网关机上,那么就不需要额外去下载Hadoop。

一旦下载完Pig,可以把它放在自己喜欢的任何位置,Pig无需依赖一个特定位置。安装第一步,将压缩包放在用户期望的目录下然后执行:

tar xzf filename

其中filename 是用户所下载的TAR压缩包文件。

安装第二步是确定环境变量JAVA_HOME是否设置指向到包含一个Java发布版的目录,这一步是为执行Pig做环境准备。如果这个环境变量没有设置,那么Pig会立即执行失败。用户可以通过shell命令设置该环境变量,也可以在调用Pig的时候通过命令行指定该环境变量,或者在位于用户刚才解压后的文件bin目录下的pig脚本文件中显式地指定好JAVA_HOME环境变量。用户可以通过执行 which java命令查看当前java所在路径,把这条命令返回的结果后面的bin/java 去掉,就是当前环境中JAVA_HOME的值。

2.1.2 从Cloudera下载Pig

除了官方的Apache版本之外,同样有一些其他的公司会重新包装和分发Hadoop以及与其相关的工具。当前这些公司中最受欢迎的是Cloudera,它为Red Hat系列的系统开发相应的RPM包以及为Debian系统开发相应的APT包。对于不可以使用这些包管理器的其他系统,Cloudera同样提供了tar压缩包文件。使用像Cloudera这样的发行版的一个优点是与Hadoop相关的所有工具都是打包在一起并且在一起测试完成的。同样,如果用户需要专业的技术支持,它也是提供的。缺点是用户将受制于其使用的发行版的提供商的发行速度。Apache推出一个新版本后,然后到各个分支给出不同的发行版,这中间会有一定的时间延迟。

如果想获得从Cloudera下载和安装Hadoop和Pig的详细说明,请访问Cloudera下载页面。需要注意的是用户需要单独下载Pig,因为Hadoop包中没有包含Pig。

2.1.3 使用Maven下载Pig

除了可以从Pig的Apache官方网站上下载发行版之外,用户还可以通过Apache的Maven资源库下载Pig。这个站点包含了Pig需要的所有JAR文件,包括源代码jar包文件,Javadocs jar包文件,同时还包括一个定义了Pig所依赖的JAR包的POM文件。如果用户使用maven或者ant进行编译,在编译过程中也会自动从这个资源库中下载相关的JAR包。

2.1.4 下载Pig源码

当用户从Apache下载Pig的时候,同时也会得到所有Pig的源代码。这样可以方便用户调试其下载的那个版本的Pig或者只是下载代码下来看看Pig是如何工作的。但是如果用户想一直跟随在最前沿,想在正式版本发行前尝试新的功能或者进行bug修复,那么可以通过Apache的版本管理资源库中下载源代码。用户需要可以访问Pig的问题跟踪系统并将一些补丁文件打到自己使用的版本中,这些补丁文件往往还没有来得及合并到代码资源库中。如何通过svn或者git获得Pig可以在Pig的版本控制页面这个网页看到。

时间: 2024-08-02 16:51:22

《Pig编程指南》一2.1 下载和安装Pig的相关文章

《Pig编程指南》一1.1 Pig是什么?

第1章 初识Pig Pig编程指南 1.1 Pig是什么? Pig提供了一个基于Hadoop的并行地执行数据流处理的引擎.它包含了一种脚本语言,称为Pig Latin,用来描述这些数据流.Pig Latin本身提供了许多传统的数据操作(如join.sort.filter等),同时允许用户自己开发一些自定义函数用来读取.处理和写数据. Pig是一个Apache开源项目.这意味着用户可以免费下载源码或者二进制包,自由使用它,对这个项目贡献自己的代码,同时也可以在Apache License的许可范围

《Pig编程指南》一1.2 Pig发展简史

1.2 Pig发展简史 Pig最初是作为Yahoo!的一个探索性的项目,Yahoo!的科学家们设计了Pig并且给出了一个原型实现.正如2008年发表在数据管理专业委员会(SIGMOD1})杂志的一篇论文所描述的,研究者认为Hadoop所描述的MapReduce框架"过于底层和严格,需要用户花费大量时间编写代码,而且很难维护和重用."同时他们注意到MapReduce用户对像SQL这样的声明式语言并不熟悉.因此他们着手开发"一种叫做Pig Latin的新语言,这种语言被设计为在像

《Hive编程指南》一1.2 Hadoop生态系统中的Hive

1.2 Hadoop生态系统中的Hive WordCount算法,和基于Hadoop实现的大多数算法一样,有那么点复杂.当用户真正使用Hadoop的API来实现这种算法时,甚至有更多的底层细节需要用户自己来控制.这是一个只适用于有经验的Java开发人员的工作,因此也就将Hadoop潜在地放在了一个非程序员用户无法触及的位置,即使这些用户了解他们想使用的算法. 事实上,许多这些底层细节实际上进行的是从一个任务(job)到下一个任务(job)的重复性工作,例如,将Mapper和Reducer一同写入

Python函数式编程指南(二):从函数开始

  这篇文章主要介绍了Python函数式编程指南(二):从函数开始,本文讲解了定义一个函数.使用函数赋值.闭包.作为参数等内容,需要的朋友可以参考下 2. 从函数开始 2.1. 定义一个函数 如下定义了一个求和函数: 代码如下: def add(x, y): return x + y 关于参数和返回值的语法细节可以参考其他文档,这里就略过了. 使用lambda可以定义简单的单行匿名函数.lambda的语法是: 代码如下: lambda args: expression 参数(args)的语法与普

Python函数式编程指南(四):生成器详解

  这篇文章主要介绍了Python函数式编程指南(四):生成器详解,本文讲解了生成器简介.生成器函数.生成器函数的FAQ等内容,需要的朋友可以参考下 4. 生成器(generator) 4.1. 生成器简介 首先请确信,生成器就是一种迭代器.生成器拥有next方法并且行为与迭代器完全相同,这意味着生成器也可以用于Python的for循环中.另外,对于生成器的特殊语法支持使得编写一个生成器比自定义一个常规的迭代器要简单不少,所以生成器也是最常用到的特性之一. 从Python 2.5开始,[PEP

《opengl编程指南》第八版 例题都不能编译运行

问题描述 <opengl编程指南>第八版 例题都不能编译运行 所有例题都出现下面这几个错误.好像是库的问题,但不知道那个库,该怎么办 解决方案 1>------ 已启动生成: 项目: Triangles, 配置: Debug Win32 ------ 1>freeglut_static_vs2010_d.lib(freeglut_init.obj) : error LNK2019: 无法解析的外部符号 sscanf,该符号在函数 _glutInit 中被引用 1>freegl

《Spark官方文档》Spark Streaming编程指南(一)

Spark Streaming编程指南 概览   Spark Streaming是对核心Spark API的一个扩展,它能够实现对实时数据流的流式处理,并具有很好的可扩展性.高吞吐量和容错性.Spark Streaming支持从多种数据源提取数据,如:Kafka.Flume.Twitter.ZeroMQ.Kinesis以及TCP套接字,并且可以提供一些高级API来表达复杂的处理算法,如:map.reduce.join和window等.最后,Spark Streaming支持将处理完的数据推送到文

《iOS编程指南》——2.5节准备你的iOS设备

2.5 准备你的iOS设备 iOS编程指南 在设备上部署应用之前,你需要按照图2-5所示的步骤来做相关配置. 如果你已经加入了iOS开发者计划的标准版或者企业版,你现在就可以生成相应的证书和描述文件(Provisioning Profile)了,通过这个证书和描述文件,你才能把下一章中的测试程序安装到你的iOS设备上. 证书和描述文件 Xcode构建工程的时候需要使用开发证书来对二进制文件进行签名,这个开发证书同时也是你作为iOS开发者的唯一标识.Xcode会从Mac OS X的Keychain

《iOS编程指南》——2.1节注册成为iOS开发者

2.1 注册成为iOS开发者 iOS编程指南 在不久之前,获取Xcode需要先注册为苹果开发者.现在不必了,你从Mac App Store直接就可以下载最新本的Xcode和iOS SDK. 如果你还在使用OS X 10.6(Snow Leopard),那么你需要先注册为苹果开发者,成为iOS开发者计划的一员,然后从iOS Dev Center下载Xcode 4和iOS SDK,因为Mac App Store上提供的Xcode的版本只兼容OS X 10.7(Lion)和10.8(Mountain