我正在尝试在运行 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 参考手册并浏览 Pig shell 脚本,我想我现在已经基本理解了。调整了对 cygwin 实用程序的调用cygpath
在此脚本中,以便找到pig.jar并且传递给java.exe的参数仍然由cygpath
对于 java.exe 可以理解的形式,我收到一个 grunt 提示符。但我的喜悦是短暂的。
事实上,我在下载、安装并开箱即用的 pig-0.7.0 中得到了相同的 grunt 提示,pig -x local
,正如 RELEASE_NOTES.txt 所描述的那样,根本没有对其 Pig shell 脚本进行任何篡改。但不幸的是它是same我在 pig-0.11.1 中得到的 grunt 提示符:一个奇怪的、伪 grunt 提示符,其中箭头键可以将光标移动到整个提示符上,实际上是整个屏幕上,甚至超过在美元提示符下给出的先前命令,并且return 键(前面有;)除了将光标跳到新行之外什么也不做。文本可以写入但不能输入,并且只有 ^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 />
这是一个致命错误还是我只是错过了一个技巧? Pig-0.11.1 中的 Pig shell 脚本似乎暗示,如果未找到 hadoop,则使用 pig.jar 或 pig-?.!(*withouthadoop).jar (例如,pig-0.11.1.jar)代替,并且文档告诉我,Windows 上的 Pig 和 cygwin 是受支持的(对于-x local
但不是-x mapreduce
)。这个伪 grunt> 提示是完全的海市蜃楼,还是表明部分成功?
- 上面的后记:我已经遵循了 Apache Pig 文档中的 Pig 教程部分入门,设置环境变量,按照说明编辑pig-0.7.0/tutorial/build.xml文件,运行
ant
命令,创建pigtutorial.tar.gz文件,移动它,解压缩它,找到pig脚本1并运行pig -x local script1-local.pig
它有效!输出文件 - part-r-00000 - 根本不包含任何警告,只有五列记录,如预期的那样。然而,获得交互模式的新尝试pig -x local
,导致相同的伪 grunt> 提示符。
None
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)