这是一种奇怪的情况,但我正在寻找一种方法来使用类似MATCHES的方式进行过滤,但在未知模式(未知长度)的列表中进行过滤。Hadoop/Pig正则表达式匹配
也就是说,如果给定的输入是两个文件,一个用数字答:
XXXX
YYYY
ZZZZ
zzyy
...等等。
而另一个模式B:
XX。*
YYY。*
...等...
我怎样才能筛选第一输入,所有在第二的模式?
如果我事先知道所有模式,我可以 A = FILTER A BY(num MATCHES'somepattern。*'OR num MATCHES'someotherpattern'....);
问题是我之前并不知道它们,既然它们是模式而不是简单的字符串,我不能只使用连接/组(至少据我所知)。 也许是一个奇怪的嵌套FOREACH ...的东西? 有什么想法吗?
这是如何以编程方式完成的?正如我所说,我并不知道这些模式中有多少(或者它们的内容,显然)是事先知道的。 – SubSevn 2011-04-18 18:10:21
@SubSevn:更新了逻辑 – Nija 2011-04-18 18:27:47
的帖子所以没有办法用直猪做到这一点? – SubSevn 2011-04-18 18:28:59