天天看點

(16) flink實作udf函數,細粒度的控制流

文章目錄

      • 函數類
      • 富函數

flink暴露所有udf函數的接口(實作方式為接口或者抽象類),例如MapFunction,FilterFunction,ProcessFunction等等

class FilterFilter extends FilterFunction[String] {
	
	override def filter(value : String) :Boolean = {
		value.contains("flink")
	}
}

val flinkTweets = tweets.filter(new FlinkFilter)
           

還可以将函數實作成匿名類

val flinkTweets = tweets.filter(
new RichFilterFunction[String](
	override def filter(value: String):Boolean = {
		value.contains("flink")
	}
)
)