支持的連接器
本文為您介紹實(shí)時(shí)計(jì)算Flink版支持的表類型的定義和連接器。
表類型的定義
阿里云實(shí)時(shí)計(jì)算Flink版通過Flink SQL定義表對上下游存儲(chǔ)進(jìn)行映射或者使用Datastream API進(jìn)行連接來實(shí)現(xiàn)讀寫。支持以下幾種Flink SQL表類型的定義:
源表(Source Table)
Flink作業(yè)的數(shù)據(jù)輸入表,是計(jì)算的驅(qū)動(dòng)來源。
不能作為維表,必須作為驅(qū)動(dòng)表來推進(jìn)后續(xù)計(jì)算。產(chǎn)生的記錄決定了計(jì)算鏈的觸發(fā)。
通常是需要進(jìn)行轉(zhuǎn)換計(jì)算的大規(guī)模業(yè)務(wù)數(shù)據(jù),量級可以達(dá)到千萬級甚至億級別。
以流式數(shù)據(jù)的形式輸入,表示連續(xù)不斷的新數(shù)據(jù),可以來自消息隊(duì)列、數(shù)據(jù)庫變更日志等。
包含需要Join和關(guān)聯(lián)的關(guān)鍵字段,如用戶ID、訂單ID等業(yè)務(wù)主鍵。
維表(Dimension Table)
輔助表,用于豐富和擴(kuò)展源表的數(shù)據(jù)。
不能作為主驅(qū)動(dòng)表,只能輔助補(bǔ)充源表。維表本身不驅(qū)動(dòng)計(jì)算。
數(shù)據(jù)規(guī)模通常較小,可以是靜態(tài)表也可以是低吞吐的流表,數(shù)據(jù)量級可能在GB到TB級別。
提供對業(yè)務(wù)數(shù)據(jù)的額外補(bǔ)充信息,如用戶姓名、產(chǎn)品詳情、區(qū)域信息等。
通過與源表進(jìn)行Join連接,可以豐富源表的信息,形成更加詳細(xì)的寬表。
結(jié)果表(Sink Table)
Flink作業(yè)輸出的結(jié)果數(shù)據(jù)表。
存儲(chǔ)著經(jīng)過計(jì)算轉(zhuǎn)換后的最終結(jié)果數(shù)據(jù),如聚合結(jié)果、過濾后的數(shù)據(jù)等。
可以輸出到數(shù)據(jù)庫、消息隊(duì)列、文件等外部系統(tǒng),用于后續(xù)的分析。
是整個(gè)作業(yè)處理鏈的最終產(chǎn)出和輸出,存儲(chǔ)了計(jì)算的輸出。
例如,有如下源表和維表:
源表:訂單數(shù)據(jù)表,包含用戶ID、訂單ID、訂單金額等信息。
維表:用戶信息表,包含用戶ID、用戶名、地址等信息。
作業(yè)首先從訂單數(shù)據(jù)源表讀取實(shí)時(shí)訂單數(shù)據(jù),將訂單數(shù)據(jù)流與用戶信息靜態(tài)維表進(jìn)行Join,然后按地區(qū)聚合統(tǒng)計(jì)訂單總額,最后將統(tǒng)計(jì)結(jié)果寫入結(jié)果表。
在這個(gè)作業(yè)中,訂單表作為驅(qū)動(dòng)源表輸入,用戶信息表作為靜態(tài)維表,統(tǒng)計(jì)結(jié)果表作為作業(yè)最終輸出。訂單表不能作為維表,必須作為驅(qū)動(dòng)表輸入數(shù)據(jù);而用戶信息表不能作為驅(qū)動(dòng)表,只能作為輔助維表補(bǔ)充訂單數(shù)據(jù)。
支持的連接器
連接器 | 支持類型 | 運(yùn)行模式 | API類型 | 是否支持更新或刪除結(jié)果表數(shù)據(jù) | ||
源表 | 維表 | 結(jié)果表 | ||||
√ | × | √ | 流模式 | SQL、DataStream和數(shù)據(jù)攝入YAML | 不支持更新和刪除結(jié)果表數(shù)據(jù),只支持插入數(shù)據(jù)。 | |
√ | √ | √ | 流模式和批模式 | SQL、DataStream和數(shù)據(jù)攝入YAML | 是 | |
√ | × | √ | 流模式 | SQL和DataStream | 不支持更新和刪除結(jié)果表數(shù)據(jù),只支持插入數(shù)據(jù)。 | |
說明 支持連接RDS MySQL版、PolarDB MySQL版及自建MySQL。 | √ | √ | √ | 流模式 | SQL、DataStream和數(shù)據(jù)攝入YAML | 是 |
說明 后續(xù)將不再支持云數(shù)據(jù)庫RDS MySQL版連接器,建議您直接使用MySQL連接器。 | × | √ | √ | 流模式和批模式 | SQL | 是 |
√ | √ | √ | 流模式和批模式 | SQL和DataStream | 不支持更新和刪除結(jié)果表數(shù)據(jù),只支持插入數(shù)據(jù)。 | |
√ | × | √ | 流模式和批模式 | SQL和DataStream | 不支持更新和刪除結(jié)果表數(shù)據(jù),只支持插入數(shù)據(jù)。 | |
× | √ | √ | 流模式 | SQL | 是 | |
√ | × | √ | 流模式 | SQL和數(shù)據(jù)攝入YAML | 是 | |
√ | √ | √ | 流模式和批模式 | SQL和DataStream | 是 | |
× | √ | √ | 流模式和批模式 | SQL | 是 | |
× | × | √ | 流模式和批模式 | SQL | 是 | |
× | × | √ | 流模式和批模式 | SQL和數(shù)據(jù)攝入YAML | 是 | |
× | × | √ | 流模式和批模式 | SQL | 是 | |
× | √ | √ | 流模式 | SQL | 是 | |
√ | × | × | 流模式和批模式 | SQL | 不涉及 | |
√ | × | √ | 流模式 | SQL和DataStream | 不支持更新和刪除結(jié)果表數(shù)據(jù),只支持插入數(shù)據(jù)。 | |
√ | √ | √ | 流模式 | SQL | 是 | |
√ | √ | √ | 流模式和批模式 | SQL | 是 | |
× | × | √ | 流模式和批模式 | DataStream和SQL | 是 | |
√ | × | √ | 流模式和批模式 | SQL、DataStream和數(shù)據(jù)攝入YAML | 是 | |
√ | × | × | 流模式 | SQL | 不涉及 | |
× | √ | √ | 流模式和批模式 | SQL | 是 | |
× | √ | √ | 流模式 | SQL | 是 | |
√ | × | √ | 流模式和批模式 | SQL和DataStream | 不支持更新和刪除結(jié)果表數(shù)據(jù),只支持插入數(shù)據(jù)。 | |
√ | √ | × | 流模式和批模式 | SQL | 不涉及 | |
√ | × | √ | 流模式和批模式 | SQL | 是 | |
× | × | √ | 流模式 | SQL | 否 | |
√ | √ | √ | 流模式和批模式 | SQL和數(shù)據(jù)攝入YAML | 是 | |
√ | × | √ | 流模式和批模式 | SQL和DataStream | 是 | |
× | × | √ | 流模式 | SQL | 是 | |
√ | √ | √ | 流模式和批模式 | SQL | 是 | |
√ | √ | √ | 流模式 | SQL和DataStream | 是 | |
× | × | √ | 流模式和批模式 | SQL | 是 |