flink計算過程:Source->Transform->Sink
整體設計
消費kafka數據,解析、計算后,分兩路輸出 1 歸檔(HDFS) 2 業務應用(PG)
代碼實現
消費kafka:FlinkKafkaConsumer<byte[]> kafkaConsumer
解 析: 按照協議、結構規則,構建map函數,解析並輸出
水 印:Flink時間語義之EventTime(事件事件)(可實現AssignerWithPunctuatedWatermarks, 也可調用WatermarkStrategy)
事件計算:業務邏輯,window划分
輸 出: Sink(hdfsSink, DBSink)
說明: 事件時間:時間取數據中的時間戳字段;hdfsSink:streamingFileSink,刷寫策略(檢查點同步刷新,定時定長定間隔刷新(Hadoop2.6以上))