我正在尝试编写一个java程序或hadoop pig脚本,它将采用逗号分隔字符串的参数(例如。 , def, xyz
)并筛选文件中包含一个或多个字符串的记录。
例如
输入文件:
1 abctree
2 pqrwewe
3 rtrxyz45
4 abcxyz
5 234rt23
输入参数为: , def, xyz
预期产量:
1 abctree
3 rtrxyz45
4 abcxyz
我能够编写脚本过滤1字符串的文件,使用 matches
,但不知道如何对多个字符串执行此操作。我需要为此编写自定义项吗?
我在这个问题中添加了java标记,因为根据我的初步发现,我将不得不编写一个用java编写的udf。所以,如果有人知道用java写这个的方法,请发布你的解决方案。
2条答案
按热度按时间svujldwt1#
我不知道pig,但在java中,您可以使用以下内容:
bakd9h0s2#
我想出来了:
这就成功了。
但是,根据我的要求,我将接受来自命令行的“逗号分隔”输入,例如。
string1, string2, string3
. 所以下一个任务是以某种方式分离单个字符串,并在上面的表达式中使用它们。如果有人知道怎么做(特别是没有自定义项),请张贴。