當前位置:
首頁 >
自定义UpsertStreamTableSink
發布時間:2024/3/13
43
豆豆
生活随笔
收集整理的這篇文章主要介紹了
自定义UpsertStreamTableSink
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
《2021年最新版大數據面試題全面開啟更新》
在Flink實戰系列之自定義RetractStreamTableSink中介紹了如何編寫自定義RetractStreamTableSink,Flink 中提供了另外一種可Redo模式的UpsertStreamTableSink,與RetractStreamTableSink不同的是:
1.在UpsertStreamTableSink中需要指定一個unique key , 該unique key既可以是single的也可以是composite的 ,所有的消息編碼都是針對該unique key的,不需要用戶自已指定,會在任務解析過程中自動生成, 通常是group by 中字段
2.RetractStreamTableSink針對需要update消息生成delete 與insert兩條消息,但是UpsertStreamTableSink只會生成一條消息,稱之為upsert,即可表示插入也可表示更新。
仍然以全局wordCount 為例:
class PaulUpsertStreamTableSink extends UpsertStreamTableSink[Row] {private var fieldNames:Array[String]=_private var fieldTypes:Array[TypeInformation[_]]=_private var keys: Array[String]=_private var isAppendOnly:lang.Boolean=_/*** unique key* @p總結
以上是生活随笔為你收集整理的自定义UpsertStreamTableSink的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于用户角色权限
- 下一篇: 2023年比较经典的软件测试工程师面试题