本文為您介紹Flink全託管支援的表類型的定義和連接器。
表類型的定義
阿里雲Realtime ComputeFlink版通過Flink SQL定義表對上下遊儲存進行映射或者使用Datastream API進行串連來實現讀寫。支援以下幾種Flink SQL表類型的定義:
源表(Source Table)
Flink作業的資料輸入表,是計算的驅動來源。
不能作為維表,必須作為驅動表來推進後續計算。產生的記錄決定了計算鏈的觸發。
通常是需要進行轉換計算的大規模業務資料,量級可以達到千萬級甚至億層級。
以流式資料的形式輸入,表示連續不斷的新資料,可以來自訊息佇列、資料庫變更日誌等。
包含需要Join和關聯的關鍵字段,如使用者ID、訂單ID等業務主鍵。
維表(Dimension Table)
輔助表,用於豐富和擴充源表的資料。
不能作為主驅動表,只能輔助補充源表。維表本身不驅動計算。
資料規模通常較小,可以是靜態表也可以是低吞吐的流表,資料量級可能在GB到TB層級。
提供對業務資料的額外補充資訊,如使用者姓名、產品詳情、地區資訊等。
通過與源表進行Join串連,可以豐富源表的資訊,形成更加詳細的寬表。
結果表(Sink Table)
Flink作業輸出的結果資料表。
儲存著經過計算轉換後的最終結果資料,如彙總結果、過濾後的資料等。
可以輸出到資料庫、訊息佇列、檔案等外部系統,用於後續的分析。
是整個作業處理鏈的最終產出和輸出,儲存了計算的輸出。
例如,有如下源表和維表:
源表:訂單資料表,包含使用者ID、訂單ID、訂單金額等資訊。
維表:使用者資訊表,包含使用者ID、使用者名稱、地址等資訊。
作業首先從訂單資料來源表讀取即時訂單資料,將訂單資料流與使用者資訊靜態維表進行Join,然後按地區彙總統計訂單總額,最後將統計結果寫入結果表。
在這個作業中,訂單表作為驅動源表輸入,使用者資訊表作為靜態維表,統計結果表作為作業最終輸出。訂單表不能作為維表,必須作為驅動表輸入資料;而使用者資訊表不能作為驅動表,只能作為輔助維表補充訂單資料。
支援的連接器
連接器 | 支援類型 | 運行模式 | API類型 | 是否支援更新或刪除結果表資料 | ||
源表 | 維表 | 結果表 | ||||
√ | × | √ | 流模式 | SQL、DataStream和資料攝入YAML | 不支援更新和刪除結果表資料,只支援插入資料。 | |
√ | √ | √ | 流模式和批模式 | SQL、DataStream和資料攝入YAML | 是 | |
√ | × | √ | 流模式 | SQL和DataStream | 不支援更新和刪除結果表資料,只支援插入資料。 | |
說明 支援串連RDS MySQL版、PolarDB MySQL版及自建MySQL。 | √ | √ | √ | 流模式 | SQL、DataStream和資料攝入YAML | 是 |
說明 後續將不再支援雲資料庫RDS MySQL版連接器,建議您直接使用MySQL連接器。 | × | √ | √ | 流模式和批模式 | SQL | 是 |
√ | √ | √ | 流模式和批模式 | SQL和DataStream | 不支援更新和刪除結果表資料,只支援插入資料。 | |
× | √ | √ | 流模式 | SQL | 是 | |
√ | × | √ | 流模式 | SQL和資料攝入YAML | 是 | |
√ | √ | √ | 流模式和批模式 | SQL和DataStream | 是 | |
× | √ | √ | 流模式和批模式 | SQL | 是 | |
× | × | √ | 流模式和批模式 | SQL | 是 | |
× | × | √ | 流模式和批模式 | SQL和資料攝入YAML | 是 | |
× | × | √ | 流模式和批模式 | SQL | 是 | |
× | √ | √ | 流模式 | SQL | 是 | |
√ | × | × | 流模式和批模式 | SQL | 不涉及 | |
√ | × | √ | 流模式 | SQL和DataStream | 不支援更新和刪除結果表資料,只支援插入資料。 | |
√ | √ | √ | 流模式 | SQL | 是 | |
√ | √ | √ | 流模式和批模式 | SQL | 是 | |
√ | × | √ | 流模式和批模式 | SQL、DataStream和資料攝入YAML | 是 | |
√ | × | × | 流模式 | SQL | 不涉及 | |
× | √ | √ | 流模式和批模式 | SQL | 是 | |
× | √ | √ | 流模式 | SQL | 是 | |
√ | × | √ | 流模式和批模式 | SQL和DataStream | 不支援更新和刪除結果表資料,只支援插入資料。 | |
√ | √ | × | 流模式和批模式 | SQL | 不涉及 | |
√ | × | √ | 流模式和批模式 | SQL | 是 | |
× | × | √ | 流模式 | SQL | 否 | |
√ | √ | √ | 流模式和批模式 | SQL和資料攝入YAML | 是 | |
√ | × | √ | 流模式和批模式 | SQL和DataStream | 是 | |
× | × | √ | 流模式 | SQL | 是 | |
√ | √ | √ | 流模式和批模式 | SQL | 是 | |
√ | √ | √ | 流模式 | SQL和DataStream | 是 | |
× | × | √ | 流模式和批模式 | SQL | 是 |