我已经尝试过所有可以想到的排列,但是我无法让CONCAT工作。
当我尝试:
fake =加载CONCAT('foo','bar');
我得到以下内容:
2013-01-17 12:41:44,443 [主要]错误org.apache.pig.tools.grunt.Grunt - 错误1200:错误的输入'CONCAT'期待QUOTEDSTRING
我试过双引号,我不希望它能起作用,实际上并没有;我试过了 将参数传递给脚本并对它们使用CONCAT,我得到了同样的错误。
为了激发这一点,我试图指定一个基本输出目录,它与各种可能的子输出目录连接,具体取决于我想要的结果文件。
顺便说一下,我也尝试过:fake = LOAD'foo'+'bar';
即没有使用CONCAT。
我正在使用pig-0.10.1.jar - 我认为这是最新版本。
答案 0 :(得分:4)
您无法直接在CONCAT
内拨打LOAD
,但实际上并不需要。您可以使用%declare
或通过传递命令行参数/参数文件来定义要在脚本中指定的参数常量。然后,您可以使用$x
表示法解析参数,并且在shell脚本中隐式连接:
%declare FOO 'foo'
%declare BAR 'bar'
fake = load '$FOO$BAR';