Apache pig Pig函数用于读取分隔符后的字符

Apache pig Pig函数用于读取分隔符后的字符,apache-pig,Apache Pig,这是我的输入文件 a1,hello.VDF a2,rim.VIM a3.dr.VDD 我需要输出如下 a1,VDF a2,VIM a3,VDD 我的脚本如下: myinput=使用PigStorage(',')加载“文件” AS(t1:chararray,t2:chararray);foreachd=FOREACH myinput GENERATE t1,子串(t2,INDEXOF(t2’,’,1),大小(t2)) 它抛出了一些错误。请帮助返回long,但接受整数,因此需要进行转换: for

这是我的输入文件

a1,hello.VDF
a2,rim.VIM
a3.dr.VDD
我需要输出如下

a1,VDF
a2,VIM
a3,VDD
我的脚本如下:

myinput=使用PigStorage(',')加载“文件” AS(t1:chararray,t2:chararray);foreachd=FOREACH myinput GENERATE t1,子串(t2,INDEXOF(t2’,’,1),大小(t2))

它抛出了一些错误。请帮助

返回long,但接受整数,因此需要进行转换:

foreached = 
  FOREACH myinput GENERATE t1,SUBSTRING(t2,INDEXOF(t2,'.',1)+1,(int)SIZE(t2));
试试这个:

output = foreach myinput generate ((t1 matches '(.*)\\.(.*)'?SUBSTRING(t1, 0, 2):t1), (t1 matches '(.*)\\.(.*)'?SUBSTRING(t1, INDEXOF(t1,'.',0)+1, (int)SIZE(t1)):t2));
请定义一些错误。