Hadoop 将值附加到PIG变量
我需要向PIG中声明的变量追加一个值 %声明描述“测试/nimmiv/清管器” 原始=使用PigStorage('\t')作为(a1:chararray,a2:chararray,a3:long)加载“test.log” /*有猪加工吗*/ 值=FOREACH原始生成$0 TMP=FOREACH原始生成$1作为路径 路径=不同的TMP /*转储路径将给我一个值(tmp),我需要将这个值附加到现有的值Test/nimmiv/pig=>Test/nimmiv/pig/tmp*/ 将值存储到“$DESC/$PATH”中Hadoop 将值附加到PIG变量,hadoop,apache-pig,Hadoop,Apache Pig,我需要向PIG中声明的变量追加一个值 %声明描述“测试/nimmiv/清管器” 原始=使用PigStorage('\t')作为(a1:chararray,a2:chararray,a3:long)加载“test.log” /*有猪加工吗*/ 值=FOREACH原始生成$0 TMP=FOREACH原始生成$1作为路径 路径=不同的TMP /*转储路径将给我一个值(tmp),我需要将这个值附加到现有的值Test/nimmiv/pig=>Test/nimmiv/pig/tmp*/ 将值存储到“$DES
这将引发未定义的别名错误。将此值附加到现有路径的最简单方法是什么。未定义的别名是“value”,它似乎以前没有引入过,并且在您尝试在其上存储之前必须已经存在。您可以使用UNION,如中所述 例如:
combined = UNION value, path;
那只是一个打字错误。我在变量值中有一些值。所以,我的问题是如何将元组值附加到声明的变量值。Union运算符用于合并两个或多个关系。我希望在定义的变量中附加一个值。在上面的场景中,我试图将值tmp=>PATH.$0附加到'Test/nimmiv/pig'=>%declare DESC'Test/nimmiv/pig'的值上,明白了;不幸的是,我不知道如何实现这一点。你能提供一些示例输入和所需的输出吗?因此示例与我的问题相同,比如I/p=>%declare DESC'Test/nimmiv/pig'=>o/p=>/Test/nimmi/pig/path\u 0203,其中path\u 0203是在中间pig步骤中获得的值。那么你想使用pig动态创建输出路径吗?那真的不管用。我唯一想到的是Multistorage(),但我不知道这是否仍然是Pig中的一个东西。