我试图在运行Vista操作系统的Windows PC上安装Apache Pig,以便将其用作学习工具;我不打算在这台机器上用Pig进行任何严肃的数据处理。单个节点,单个JVM -x local
设置就是我想要的。
我来自Windows背景,因此UNIX对我来说是一个很大的学习曲线,但是根据在线Apache Pig文档入门中的建议,我已经安装了cygwin,它似乎工作正常。我按照入门中的建议,在我的cygwin下载和安装中包含了Perl包,并且这似乎也正常工作 - / bin目录包含perl.exe,我可以访问所有Perl文档。
然后我下载了pig-0.11.1,用tar -xzvf pig-0.11.1.tar.gz
解压缩了它并花了几天(大部分时间都很愉快)使用我在尝试pig -x local
学习Bash参考手册时遇到的错误并经历了猪壳脚本,我想我现在非常理解。在此脚本中调整了对cygwin实用程序cygpath
的调用,以便找到pig.jar并且传递给java.exe的参数仍由cygpath
转换为java.exe可以理解的表单,I得到一个咕噜的提示。但是我的呐喊是昙花一现。
事实上,正如RELEASE_NOTES.txt所描述的那样,我使用pig -x local
下载,安装和使用现成的pig-0.7.0得到了同样的grunt提示,没有任何篡改它的猪shell脚本。但不幸的是,这是我用pig-0.11.1获得的相同的 grunt提示:一个好奇的伪咕噜提示,其中箭头键可以将光标移动到整个提示符,实际上是在屏幕周围,甚至在美元提示下给出的先前命令,返回键(以;开头)除了将光标跳转到新行外什么都不做。文本可以写入但不能输入,只有^ c和^ \似乎可以正常工作 - 仁慈地返回bash美元提示和一点点理智。
在我的pig-0.7.0目录中,输入bin/pig -help
会给出正确的读数:
Apache Pig version 0.7.0 (r941408)<br />
compiled May 05 2010, 11:15:55<br />
USAGE: Pig [options] [-] : Run interactively in grunt shell.</br >
Pig [options] -e[xecute] cmd [cmd ...] : Run cmd(s).<br />
Pig [options] [-f[ile]] file : Run cmds found in file.
options include: ... *etc etc*<br />
在我的pig-0.7.0目录中,输入bin/pig -x local
会产生以下回复:
13/04/18 10:37:51 INFO pig.Main: Logging error messages to: C:\cygwin\home\Richard\pig_installation\pig-0.7.0\pig_1366277871311.log<br />
2013-04-18 10:37:51,540 [main] INFO org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: file:///<br />
在任何目录中,由于我已将PATH设置为pig-0.11.1 / bin目录,因此键入pig -x local
会产生以下响应:
which: no hadoop in (usr/local/bin:/cygdrive/c/Program Files ... *etc etc* .. )<br />
2013-04-18 10:48:59,946 [main] INFO org.apache.pig.Main - Apache Pig version 0.11.1 (r1459641) compiled Mar 22 2013, 02:13:53<br />
2013-04-18 10:48:59,946 [main] INFO org.apache.pig.Main - Logging error messages to: C:\cygwin\home\Richard\pig_installation\pig-0.7.0\pig_1366278539943.log<br />
2013-04-18 10:48:59,965 [main] INFO org.apache.pig.impl.util.Utils - Default bootup file C:\Users\Richard/.pigbootup not found<br />
2013-04-18 10:49:01,404 [main] INFO org.apache.pig.backend.hadoop.executionengine.HExecutionEngine - Connecting to hadoop file system at: file:///<br />
这是致命错误还是我错过了一招?猪-0.1.1.1中的猪壳脚本似乎暗示如果没有找到hadoop,pig.jar或猪 - ?。!(* withouthadoop).jar(例如pig-0.11.1.jar)将代替,并且文档告诉我,支持使用cygwin的Windows上的猪(-x local
但不支持-x mapreduce
)。这是伪咕噜&gt;提示完全海市蜃楼,还是表明部分成功?
ant
命令,创建pigtutorial.tar.gz文件,移动它,解压缩它,找到猪脚本1并运行pig -x local script1-local.pig
和IT工作!输出文件 - part-r-00000 - 根本没有警告,只包含五列记录。然而,使用pig -x local
获得交互模式的新尝试会产生相同的伪咕噜声&gt;提示。