Flink学习笔记 --- DataStream Transformations

来源:互联网 发布:linux tomcat 宕机 编辑:程序博客网 时间:2024/06/05 21:05
Stream Transformations1.Map:DataSteam -> DataSteamdataSteam.map {x => x * 2}2.FlatMapDataStream -> DataStreamdataStream.flatMap {str => str.split(" ")}3.FilterDataStream -> DataStreamdataStream.filter { _ != 0 }4.KeyByDataStream -> KeyedStreamdataStream.keyBy("someKey")dataStream.keyBy("0")5.ReduceKeyedStream -> DataStreamkeyedStream.reduce { _ + _ }6.FoldkeyedStream -> DataSyteamval result: DataStream[String] = keyedStream.fold("start")((str, i)) => { str + "-" + i })7.AggregationKeyedStream -> DataStreamkeyedStream.sum(0)KeyedStream.sum("key")keyedStream.min(0)keyedStream.min("key")keyedStream.max(0)keyedStream.max("key")keyedStream.minBy(0)keyedStream.minBy("key")keyedStream.maxBy(0)keyedStream.maxBy("key")8.WindowkeyedSteam -> windowedStreamdataStream.keyBy(0).window(TumblingEventTimeWindow.of(Time.second(5)))9.WindowALlDataStream -> AllWindowedStreamdataSteam.windowAll(TumblingEventTimeWindows.of(Time.seconds(5)))10.WindowApplyWindowStream -> DataSteamAllWindowStream -> DataStreamwindowedStream.apply { WindowFunction }allWindowSteam.apply { AllWindowFunction }11.Window ReduceWindowedStream -> DataStreamwindowedStream.reduce { _ + _ }12.Window FoldWindowedStream -> DataStreamval result: DataStream[String] = windowedStream.fold("start", (str, 1) => { str + "_" + i })13.Aggregation on windowsWindowedStream -> DataStreamwindowedStream.sum(0)windowedStream.sum("key")windowedStream.min(0)windowedStream.min("key")windowedStream.max(0)windowedStream.max("key")windowedStream.minBy(0)windowedStream.minBy("key")windowedStream.maxBy(0)windowedStream.maxBy("key")14.UnionDataStream* -> DataStreamdataStream.union(otherStream1, otherStream2, ...)15.Window JoinDataStream, DataStream -> DataStreamdataStream.join(otherStream).where(<key selector>).equalTo(<key selector>).window(TumblingEventWindows.of(Time.second(3))).apply {...}16.Window CoGroupDataStrea, DataStream -> DataStreamdataStream.coGroup(otherStream).where(0).equalTo(1).window(TumblingEventWindows.of(Time.seconds(3))).apply {}17.connectDataStream, DataStream -> ConnectedStreamsomeStream: DataStream[Int] = //otherStream: DataStream[String] = //val connectedStreams = someStream.connect(otherStream)18.CoMap, CoFlatMapConnectedStream -> DataStreamconnectedStream.map( (_:Int) => true, (_:String) => false)connectedStreams.flatMap( (_:Int) => true, (_:String) => false)19.SplitDataStream -> SplitStreamval split = someDataStream.split((num: Int) => (num % 2) match {case 0 => List("even") case 1 => List("odd") })20.SelectSplitStream -> DataStreamval even = split select "even"val odd = split select "odd"val all = split select("even", "odd")21.IterateDataStream -> iterateStream -> DataStreaminitialStream.iterate {    iteration => {        val iterationBody = iteration.map {  }        (iterationBody.filter(_ > 0), iterationBody.filter( _ <= 0))    }}22.Extract TimestampsDataStream -> DataStreamstream.assignTimestamps { timestampExtractor }
原创粉丝点击