配置MySQL源端參數
更新時間 2023-08-17 15:44:50
最近更新時間: 2023-08-17 15:44:50
分享文章
本章節主要介紹配置MySQL源端參數。
作業中源連接為配置MySQL數據庫連接,源端作業參數如下表所示。
表 MySQL作為源端時的作業參數
| 參數類型 | 參數名 | 說明 | 取值樣例 |
|---|---|---|---|
| 基本參數 | 使用SQL語句 | 導出關系型數據庫的數據時,您可以選擇使用自定義SQL語句導出。 | 否 |
| 基本參數 | SQL語句 | “使用SQL語句”選擇“是”時,您可以在這里輸入自定義的SQL語句,CDM將根據該語句導出數據。 說明 SQL語句只能查詢數據,支持join和嵌套寫法,但不能有多條查詢語句,比如select * from table a; select * from table b。 不支持with語句。 不支持注釋 ,比如"--",“/*”。 不支持增刪改操作,包括但不限于以下操作: load data delete from alter table create table drop table into outfile |
select id,name from sqoop.user; |
| 基本參數 | 模式或表空間 | “使用SQL語句”選擇“否”時,顯示該參數,表示待抽取數據的模式或表空間名稱。單擊輸入框后面的按鈕可進入模式選擇界面,用戶也可以直接輸入模式或表空間名稱。 如果選擇界面沒有待選擇的模式或表空間,請確認對應連接里的帳號是否有元數據查詢的權限。 說明 該參數支持配置正則表達式,實現導出滿足規則的所有數據庫。 |
SCHEMA_E |
| 基本參數 | 表名 | “使用SQL語句”選擇“否”時,顯示該參數,表示要抽取的表名。單擊輸入框后面的按鈕可進入表的選擇界面,用戶也可以直接輸入表名稱。 如果選擇界面沒有待選擇的表,請確認表是否已經創建,或者對應連接里的帳號是否有元數據查詢的權限。 該參數支持配置為時間宏變量,且一個路徑名中可以有多個宏定義變量。使用時間宏變量和定時任務配合,可以實現定期同步新增數據。 說明 該參數支持配置正則表達式,實現導出滿足規則的所有數據庫。 |
table |
| 高級屬性 | 抽取分區字段 | “使用SQL語句”選擇“否”時,顯示該參數,表示抽取數據時使用該字段進行數據切分,CDM依據此字段將作業分割為多個任務并發執行。一般使用數據均勻分布的字段,例如以自然增長的序號字段作為分區字段。 單擊輸入框后面的按鈕可進入字段選擇界面,用戶也可以直接輸入抽取分區字段名。 說明 抽取分區字段支持CHAR、VARCHAR、LONGVARCHAR、TINYINT、SMALLINT、INTEGER、BIGINT、REAL、FLOAT、DOUBLE、NUMERIC、DECIMAL、BIT、BOOLEAN、DATE、TIME、TIMESTAMP類型,建議該字段帶有索引。 當選擇CHAR、VARCHAR、LONGVARCHAR抽取分區字段類型時,字段值不支持ASCII字符代碼表之外的字符,不支持中文字符。 |
id |
| 高級屬性 | Where子句 | “使用SQL語句”選擇“否”時,顯示該參數,表示配置抽取范圍的Where子句,不配置時抽取整表。 該參數支持配置為時間宏變量,實現抽取指定日期的數據。 |
DS='${dateformat(yyyy-MM-dd,-1,DAY)}' |
| 高級屬性 | 分區字段是否允許空值 | 是否允許分區字段包含空值。 | 是 |
| 高級屬性 | 作業拆分字段 | 使用該字段將作業拆分為多個子作業并發執行。 | - |
| 高級屬性 | 拆分字段最小值 | 表示抽取數據時“作業拆分字段”的最小值。 | - |
| 高級屬性 | 拆分字段最大值 | 表示抽取數據時“作業拆分字段”的最大值。 | - |
| 高級屬性 | 子作業個數 | 根據“作業拆分字段”的最小值和最大值限定的數據范圍,將作業拆分為多少個子作業執行。 | - |
| 高級屬性 | 按表分區抽取 | 從MySQL導出數據時,支持從分區表的各個分區并行抽取數據。啟用該功能時,可以通過下面的“表分區”參數指定具體的MySQL表分區。 該功能不支持非分區表。 數據庫用戶需要具有系統視圖dba_tab_partitions和dba_tab_subpartitions的SELECT權限。 |
否 |
說明
MySQL到DWS的場景下,MySQL Binlog方式增量遷移數據功能的使用限制如下:
單個集群在當前版本中只支持一個MySQL Binlog方式的增量遷移任務。
1.當前版本不支持一次性刪除、更新萬條記錄。
2.不支持整庫遷移。
3.不支持DDL操作。
4.不支持事件(event)遷移。
5.當選擇增量遷移時,源MySQL數據庫的“binlog_format”需要設置為“ROW”。
6.當選擇增量遷移時,增量遷移過程中如果源MySQL實例,出現因實例跨機遷移或跨機重建等導致的binlog文件ID亂序,可能導致增量遷移數據丟失。
7.當目的表存在主鍵時,如果重啟CDM集群或全量遷移過程中產生增量數據,主鍵可能會出現重復數據,導致遷移失敗。
8.如果目標數據庫DWS存在重啟行為,會導致遷移失敗,需要重啟CDM集群重新拉起遷移作業。
- MySQL推薦配置如下:
#打開 bin-log 功能
log-bin=mysql-bin
#行模式
binlog-format=ROW
#gtid 模式,建議版本為 5.6.10 以上版本可用
2023-02-28 232
gtid-mode=ON
enforce_gtid_consistency = ON