【雲星資料---Apache Flink實戰系列(精品版)】:Apache Flink高階特性與高階應用017-Flink中引數傳遞和容錯設定001

雲星資料-大資料團隊發表於2017-11-19

一、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

相關文章