Apache pig Pig函数中的StrSplit
有人能解释一下如何在Pigscript中获得下面的输出吗 我的输入文件在下面 a、 文本 我正在这样写猪的剧本Apache pig Pig函数中的StrSplit,apache-pig,Apache Pig,有人能解释一下如何在Pigscript中获得下面的输出吗 我的输入文件在下面 a、 文本 我正在这样写猪的剧本 A = LOAD 'a.txt' USING PigStorage(',') AS(a1:chararray,a2:chararray,a3:chararray); B = FOREACH A GENERATE FLATTEN(STRSPLIT(a1)),a2,a3; 我不知道该怎么做。。 我需要像下面这样输出。基本上我需要第一个原子中点符号后的所有字符 (kyl,data,data
A = LOAD 'a.txt' USING PigStorage(',') AS(a1:chararray,a2:chararray,a3:chararray);
B = FOREACH A GENERATE FLATTEN(STRSPLIT(a1)),a2,a3;
我不知道该怎么做。。
我需要像下面这样输出。基本上我需要第一个原子中点符号后的所有字符
(kyl,data,data)
(kkk,data,data)
(hj,data,data)
(dff,data,data)
有人能告诉我这个的代码吗- 当pig解析例程遇到点时,这里有一个转义问题,因为它被认为是运算符。有关更多信息,请参阅此链接 可以将unicode转义序列改为点:\u002E。但是,这也必须是斜杠转义的,并放在一个带引号的字符串中 下面的代码将为您完成工作,您可以根据自己的方便进行微调-
A = LOAD 'a.txt' USING PigStorage(',') AS(a1:chararray,a2:chararray,a3:chararray);
B = FOREACH A GENERATE FLATTEN(STRSPLIT(a1,'\\u002E')) as (a1:chararray, a1of1:chararray),a2,a3;
C = FOREACH B GENERATE a1of1,a2,a3;
希望这有帮助
A = LOAD 'a.txt' USING PigStorage(',') AS(a1:chararray,a2:chararray,a3:chararray);
B = FOREACH A GENERATE FLATTEN(STRSPLIT(a1,'.')),a2,a3;
这将a1分为两部分,即点前和点后,从中可以选择点后运算符
C = foreach B generate $1,$2,$3;
其中,$1在点运算符之后您可以通过以下方式尝试使用STRSPLIT()
A = LOAD 'C:\\Users\\Ren\\Desktop\\file' USING PigStorage(',') AS(a1:chararray,a2:chararray,a3:chararray);
B = foreach A generate SUBSTRING(a1,INDEXOF(a1,'.',0)+1,(int)SIZE(a1)),a2,a3;
很好的解释。。我们是否也需要对管道符号和逗号应用这种unicode转义序列。否不适用于管道和逗号检查清管器文档
A = LOAD 'C:\\Users\\Ren\\Desktop\\file' USING PigStorage(',') AS(a1:chararray,a2:chararray,a3:chararray);
B = foreach A generate SUBSTRING(a1,INDEXOF(a1,'.',0)+1,(int)SIZE(a1)),a2,a3;