java—将一个元组流中的字段用作第二个元组流上regexparser中regex的一部分

x4shl7ld  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(268)

我尝试在hdfs中读入csv,用级联解析它,然后使用得到的元组流在另一个使用regexparser的元组流中形成regex表达式的基础。据我所知,实现这一点的唯一方法是编写自己的自定义函数,我想知道是否有人知道如何使用javaapi来实现这一点。
关于如何在级联框架中编写自己的函数来实现这一点的建议也很受欢迎。
我正在运行级联2.5.1

soat7uwm

soat7uwm1#

这个问题的最佳资源是palo alto级联示例教程。它是用java编写的,并提供了许多用例的示例,包括编写自定义函数。
https://github.com/cascading/copa/wiki
是的,编写一个允许输入regex引用其他参数输入的函数是最好的选择。

public class SampleFunction extends BaseOperation implements Function
{
     public void operate( FlowProcess flowProcess, FunctionCall functionCall )
     {
         TupleEntry argument = functionCall.getArguments();
         String regex = argument.getString( 0 );
         String argument = argument.getString( 1 );
         String parsed = someRegexOperation();

         Tuple result = new Tuple();
         result.add( parsed );
         functionCall.getOutputCollector().add( result );
     }
}

相关问题