Cygwin和Apache Pig-令人困惑的伪咕噜>;

Cygwin和Apache Pig-令人困惑的伪咕噜>;,cygwin,apache-pig,Cygwin,Apache Pig,我正在尝试在运行Vista操作系统的Windows PC上安装ApachePig,以便将其用作学习工具;我不打算在这台机器上用Pig做任何严肃的数据处理。我想要的是一个单节点、单JVM-x local设置 我来自Windows背景,所以UNIX对我来说是一个很大的学习曲线,但是按照在线ApachePig文档《入门》中的建议,我已经安装了cygwin,它似乎工作得很好。我在cygwin的下载和安装中包括了Perl包,正如《入门》中所建议的那样,它似乎也工作得很好,/bin目录包含Perl.exe,

我正在尝试在运行Vista操作系统的Windows PC上安装ApachePig,以便将其用作学习工具;我不打算在这台机器上用Pig做任何严肃的数据处理。我想要的是一个单节点、单JVM
-x local
设置

我来自Windows背景,所以UNIX对我来说是一个很大的学习曲线,但是按照在线ApachePig文档《入门》中的建议,我已经安装了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可以理解的形式,我得到了一个咕噜声提示。但我的欢呼声是短暂的

事实上,正如RELEASE_NOTES.txt所描述的那样,我在下载、安装和使用pig-0.7.0时得到了相同的grunt提示,并且使用了
pig-x local
,根本没有篡改它的pig shell脚本。但不幸的是,这和我在pig-0.11.1中得到的grunt提示符是一样的:一个奇怪的伪grunt提示符,箭头键可以在提示符上移动光标,实际上可以在屏幕上移动光标,甚至可以在美元提示符下给出的以前的命令上移动光标,返回键(前面有;)除了将光标跳转到新行之外什么也不做。文本可以写入,但不能输入,而且只有^c和^\似乎起作用-谢天谢地,返回了bash-dollar提示符并保持了一点理智

  • 在my 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.11.1/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 />
    
    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 />
    
    which:no-hadoop in(usr/local/bin:/cygdrive/c/Program Files…*等*)
    2013-04-18 10:48:59946[main]INFO org.apache.pig.main-apache pig版本0.11.1(r1459641)编译于2013年3月22日02:13:53
    2013-04-18 10:48:59946[main]INFO org.apache.pig.main-将错误消息记录到:C:\cygwin\home\Richard\pig_installation\pig-0.7.0\pig_1366278539943.log
    2013-04-18 10:48:59965[main]INFO org.apache.pig.impl.util.Utils-默认启动文件C:\Users\Richard/.pigbootup未找到
    2013-04-18 10:49:01404[main]INFO org.apache.pig.backend.hadoop.executionengine.HExecutionEngine-连接到hadoop文件系统的地址:file://
这是一个致命的错误还是我错过了一个技巧?pig-0.11.1中的pig-shell脚本似乎暗示,如果没有找到hadoop,那么pig.jar或pig-?。!(*withouthadoop).jar(例如pig-0.11.1.jar)将替代它,并且文档告诉我,在带有cygwin的Windows上支持pig(用于
-x local
,但不支持
-x mapreduce
)。这个伪grunt>提示是完全的海市蜃楼,还是表明部分成功

  • 上面的附言:我遵循了Apache的Pig文档《入门》中的Pig教程一节,设置了环境变量,按照说明编辑了Pig-0.7.0/Tutorial/build.xml文件,运行
    ant
    命令,创建了pigttutorial.tar.gz文件,移动了它,解压缩了它,找到pig脚本1并运行
    pig-x local script1 local.pig
    ,它就可以工作了!输出文件-part-r-00000-完全不包含警告,正如预期的那样,只有五列记录。然而,使用
    pig-xlocal
    获取交互模式的新尝试会导致相同的伪grunt>提示
我用这个家伙描述的方法安装了Pig,取得了一些“成功”:。然而,当我在grunt提示符中键入任何命令时,即使是“help”或“descripe”,它也会永远挂起,不会生成日志消息,所以。。。我仍然被卡住了,但这并不像你在那里走的那么长那么痛苦。