2014-03-26 101 views
0

我有包含3ed列中的数据的文件,我想用猪过滤这些数据并对其执行其他操作。如何删除Pig中包含%的行?

字符串就像%D0%90%D0%BB%D0%B0和所有其他字符串都是similer,但包含%char。

如何过滤数据我在做什么是

Z = FILTER A BY not (a3 matches '.*%%D0%%*.'); 

回答

0

首先,确保A3是Chararray。然后,您应该过滤这样的:

Z= FILTER A BY NOT a3 MATCHES '.*%D0%.*'; 

据我所知,目前还没有必要逃避%,如果你想过滤那些不包含%D0%,你应该把只有一%。但是,如果要过滤那些不包含%% D0 %%的表达式,则表达式应该可以正常工作。

+0

线它不工作,但我找到了解决办法谢谢:) –

0

这在我的情况下工作:

Z = FILTER A BY NOT a3 matches '.*.[%].*.'; 

通过使用此过滤器,我能够删除包含“%”