栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Flink实现UDF函数

Flink实现UDF函数

5.5.1 函数类(Function Classes)

Flink暴露了所有UDF函数的接口(实现方式为接口或者抽象类)。例如MapFunction, FilterFunction, ProcessFunction等等。

下面例子实现了FilterFunction接口:

DataStream flinkTweets = tweets.filter(new FlinkFilter()); 
public static class FlinkFilter implements FilterFunction { 
  @Override public boolean filter(String value) throws Exception { 
    return value.contains("flink");
  }
}

还可以将函数实现成匿名类

DataStream flinkTweets = tweets.filter(
  new FilterFunction() { 
    @Override public boolean filter(String value) throws Exception { 
      return value.contains("flink"); 
    }
  }
);

我们filter的字符串"flink"还可以当作参数传进去。

DataStream tweets = env.readTextFile("INPUT_FILE "); 
DataStream flinkTweets = tweets.filter(new KeyWordFilter("flink")); 
public static class KeyWordFilter implements FilterFunction { 
  private String keyWord; 

  KeyWordFilter(String keyWord) { 
    this.keyWord = keyWord; 
  } 

  @Override public boolean filter(String value) throws Exception { 
    return value.contains(this.keyWord); 
  } 
}
5.5.2 匿名函数(Lambda Functions)
DataStream tweets = env.readTextFile("INPUT_FILE"); 
DataStream flinkTweets = tweets.filter( tweet -> tweet.contains("flink") );
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/714083.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号