我在Windows上使用HDInsight安装Hadoop,并尝试将参数传递给猪脚本。我在不同的机器上使用了几个脚本,所以我认为它可能是Windows的一个东西。我已经把默认值来检查参数的脚本使用HDInsight将参数传递给Pig脚本
示例脚本内工作:
%default myParam 'foo'
load('$myParam');
运行的命令行测试预演: 猪-r testSub.pig
结果:
load('foo');
而是试图通过命令行提供值:
pig -p myParam=bar -r testSub.pig
抛出一个错误:
2013-04-23 13:37:27,531 [main] ERROR org.apache.pig.Main - ERROR 2999: Unexpected internal error. Encountered unexpected arguments on command line - please check the command line.
Details at logfile: C:\Hadoop\hadoop-1.1.0-SNAPSHOT\logs\pig_1366720647495.log
和日志文件说是相同的:
Error before Pig is launched
----------------------------
ERROR 2999: Unexpected internal error. Encountered unexpected arguments on command line - please check the command line.
java.lang.RuntimeException: Encountered unexpected arguments on command line - please check the command line.
at org.apache.pig.Main.run(Main.java:500)
at org.apache.pig.Main.main(Main.java:111)
================================================================================
我使用 “-param” 尝试,把单引号和双引号的事情,移动命令周围,但没有运气。任何想法接下来要做什么 - 是否有一些奇怪的转义,我需要在Windows命令提示符上添加?
谢谢伊恩,但它仍然有同样的问题。我还需要在群集上运行真正的脚本,但我认为问题出在Pig解析器上,而不是在Windows命令窗口中运行,而不是脚本在哪里运行 - 它永远不会那么远 – TobyEvans 2013-04-23 19:24:35
@TobyEvans您是否找到了解决方案这个。我在Windows上遇到同样的问题 – DWGuru 2014-06-30 12:11:00