Flinkの変換基本演算子

Flinkの変換演算子

package api

import org.apache.flink.streaming.api.scala._

object trainsform {
    
    
  def main(args: Array[String]): Unit = {
    
    
    val env = StreamExecutionEnvironment.getExecutionEnvironment
    env.setParallelism(2)
    //val stream = env.socketTextStream("node01",7777)
    val stream = env.readTextFile("F:\\flink_project\\src\\main\\resources\\words")

    val input: DataStream[String] = stream.flatMap(_.split(" "))
    //todo  split切片,打上标签
    val splitStream = input.split(
      x => {
    
    
        if (x.length > 5) Seq("long") else Seq("short")
      }
    )
    //todo select选择分到不同的流中
    val long = splitStream.select("long")
    val short = splitStream.select("short")
//    long.print("long")
//    short.print("short")
    val longing = long
    val connected = longing.connect(short)
    //todo union合并到一个流中
    val coMapStreaaam = connected.map(
      (_, "word is long"),
      (_, "word is short")
    )

    val unionStream: DataStream[String] = long.union(short)
    unionStream.print()
    env.execute()
  }
}

おすすめ

転載: blog.csdn.net/weixin_44429965/article/details/108010434