ApacheFlink高级特性与高级应用之Flink中参数传递和容错设定
程序员文章站
2022-05-10 08:20:50
一、flink中的参数传递
flink中支持向Function传递参数,常见的有两种方式,
1.通过构造方法向Function传递参数
2.通过ExecutionConfig向Fun...
一、flink中的参数传递
flink中支持向Function传递参数,常见的有两种方式, 1.通过构造方法向Function传递参数 2.通过ExecutionConfig向Function传递参数
1.通过构造方法向Function传递参数(基本数据)
执行程序
package code.book.batch.sinksource.scala import org.apache.flink.api.common.functions.MapFunction import org.apache.flink.api.scala.{ExecutionEnvironment, _} /** * Passing Parameters to Functions */ object Parameters001 { def main(args: Array[String]): Unit = { val env = ExecutionEnvironment.getExecutionEnvironment //1.准备工资数据 case class Worker(name: String, salaryPerMonth: Double) val salary = env.fromElements(2123.5, 4345.2, 5987.3, 7991.2) //2.准备补助数据 val bouns = 38.111 //3.计算工资和补助之和 salary.map(new SalarySumMap(bouns)).print() class SalarySumMap(b: Double) extends MapFunction[Double, Double] { override def map(s: Double): Double = { //工资+补助 s + b } } } }
执行效果
2161.611 4383.311 6025.411 8029.311