Flink基礎教程:FlinkX RDB介紹與基本演示
一、RDB模組介紹與演示
針對關係型資料庫,FlinkX-RDB封裝了基於JDBC規範的查詢與插入等公共操作,各個資料來源可透過繼承FlinkX-RDB模組實現各自邏輯,目前已支援絕大部分市面上的RDB資料來源:
MySQL
Oracle
SqlServer
PostgreSQL
Db2
DM
Gbase
ClickHouse
SAPHANA
Teradata
Greeplum
二、髒資料原理與演示
資料同步過程中,出現主鍵為空,主鍵衝突等髒資料導致插入失敗時,根據任務配置選擇記錄髒資料並繼續執行後續資料插入或者直接結束任務。生產環境會根據髒資料管理模組對髒資料進行管理,儲存到檔案系統裡,在任務結束後,可以在對應路徑下檢視,目前只支援Hadoop檔案系統儲存。
三、多通道原理與演示
其本質是透過Flink的並行度進行多執行緒併發讀寫以及資料庫函式的mod()方法劃分資料,使得資料不會重複讀取。開啟多通道的引數如下:
reader外掛parammeter裡配置 splitPk切割鍵
setting.speed裡配置 channel 通道數量
四、自定義sql使用
FlinkX透過where條件拼接來進行自定義過濾,自定義過濾條件仍然是對table進行資料過濾,而自定義sql則是使用者透過customSql指定sql,將其作為子查詢,其結果作為臨時表進行同步。
五、增量同步
表裡的資料每天都在增加只需要同步增量的資料即可。指定增量欄位來構造sql的where條件語句查詢增量的資料,並將最後一條資料的增量欄位值存到prometheus中,作為下次任務的增量欄位起始值,達到增量資料的每日同步。只有RDB型別的reader外掛支援增量同步並且增量欄位只能為數值型別或者時間型別。
六、斷點續傳
斷點續傳使用場景是在需要資源較多的任務中,如果出現同步失敗,重新同步會耗費大量資源,因此需要在同步失敗的地方開始重新同步,減少資源的佔用。斷點續傳主要透過Flink的Check Point機制儲存任務執行時的狀態以及位置資訊並在CheckPoint時進行事務的提交,避免資料重複插入,這樣在任務失敗的時候,從Check Point處進行恢復執行即可。
七、間隔輪詢
間隔輪詢場景是在表裡的資料不停的插入而不做其他操作,其原理根據配置的增量標識欄位去輪詢資料庫獲取資料,如果獲取到資料則更新增量標識欄位的值,相當於一個無界流,增量標識欄位的型別必須是數值型別或者時間型別。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69995740/viewspace-2765575/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL 教程基礎介紹MySql
- Django基礎教程之介紹Django
- Java基礎知識篇——Java基本介紹Java
- Android RxJava:基礎介紹與使用AndroidRxJava
- Nginx 教程:基本概念介紹Nginx
- Sql介紹 與 Sql基礎查詢SQL
- PEG.js 介紹與基礎使用JS
- Pandas基礎介紹
- Elasticsearch 基礎介紹Elasticsearch
- Redis基礎(三)Redis持久化:RDB與AOFRedis持久化
- 1、Oracle 基礎介紹Oracle
- ActiveMq的基礎介紹MQ
- JDBC的基礎介紹JDBC
- 『與善仁』Appium基礎 — 3、ADB命令介紹APP
- Html與css基礎知識介紹(必看篇)HTMLCSS
- Flink - datagen 的介紹
- HTML5培訓教程:HTML5基礎介紹HTML
- SSH Config教程之基礎知識介紹-必備技巧
- ThinkPHP 6.0 基礎教程 - 基本流程PHP
- MongoDB基本介紹與安裝(1)MongoDB
- RocketMQ系列1:基礎介紹MQ
- OSPF介紹及基礎配置
- .NET開發框架(一)-框架介紹與視訊演示框架
- 什麼是Ansible?特性及優點介紹!Linux基礎教程Linux
- Flink Table Store 的介紹
- python基礎之-sys模組、os模組基本介紹(未完成)Python
- Vue腳手架介紹與基本用法Vue
- Webpack的基本配置和打包與介紹Web
- GStreamer基礎教程02 - 基本概念
- RabbitMq基礎教程之基本概念MQ
- docker 基本介紹Docker
- LVM基本介紹LVM
- ipfs基本介紹
- TypeScript基本介紹TypeScript
- Python介紹和基礎運用Python
- Jumpserver基礎運維-01介紹Server運維
- 02-ASP.Net(基礎介紹)ASP.NET
- Linux shell 指令碼基礎介紹Linux指令碼