Hadoop Pig Latin,CONCAT功能失败

时间:2013-01-23 02:21:39

标签: hadoop apache-pig

我已经尝试过所有可以想到的排列,但是我无法让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 - 我认为这是最新版本。

1 个答案:

答案 0 :(得分:4)

您无法直接在CONCAT内拨打LOAD,但实际上并不需要。您可以使用%declare或通过传递命令行参数/参数文件来定义要在脚本中指定的参数常量。然后,您可以使用$x表示法解析参数,并且在shell脚本中隐式连接:

%declare FOO 'foo'
%declare BAR 'bar'

fake = load '$FOO$BAR';