配置Oracle源端參數
更新時間 2023-08-17 15:45:18
最近更新時間: 2023-08-17 15:45:18
分享文章
本章節主要介紹配置Oracle源端參數。
作業中源連接為配置Oracle數據庫連接,源端作業參數如下表所示。
表 Oracle作為源端時的作業參數
| 參數類型 | 參數名 | 說明 | 取值樣例 |
|---|---|---|---|
| 基本參數 | 使用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 l into outfile |
select id,name from sqoop.user; | |
| 模式或表空間 | “使用SQL語句”選擇“否”時,顯示該參數,表示待抽取數據的模式或表空間名稱。單擊輸入框后面的按鈕可進入模式選擇界面,用戶也可以直接輸入模式或表空間名稱。 如果選擇界面沒有待選擇的模式或表空間,請確認對應連接里的帳號是否有元數據查詢的權限。 說明 該參數支持配置通配符( *),實現導出以某一前綴開頭或者以某一后綴結尾的所有數據庫。例如: 表示導出所有以“SCHEMA”開頭的數據庫。 表示導出所有以“SCHEMA”結尾的數據庫。 表示數據庫名稱中只要有“SCHEMA”字符串,就全部導出。 |
SCHEMA_E | |
| 表名 | “使用SQL語句”選擇“否”時,顯示該參數,表示要抽取的表名。單擊輸入框后面的按鈕可進入表的選擇界面,用戶也可以直接輸入表名稱。 如果選擇界面沒有待選擇的表,請確認表是否已經創建,或者對應連接里的帳號是否有元數據查詢的權限。 該參數支持配置為時間宏變量,且一個路徑名中可以有多個宏定義變量。使用時間宏變量和定時任務配合,可以實現定期同步新增數據。 說明 表名支持配置通配符( *),實現導出以某一前綴開頭或者以某一后綴結尾的所有表(要求表中的字段個數和類型都一樣)。例如: 表示導出所有以“table”開頭的表。 表示導出所有以“table”結尾的表。 表示表名中只要有“table”字符串,就全部導出。 |
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)}' | |
| 分區字段是否允許空值 | 是否允許分區字段包含空值。 | 是 | |
| 按表分區抽取 | 從Oracle導出數據時,支持從分區表的各個分區并行抽取數據。啟用該功能時,可以通過下面的“表分區”參數指定具體的Oracle表分區。 該功能不支持非分區表。 數據庫用戶需要具有系統視圖dba_tab_partitions和dba_tab_subpartitions的SELECT權限。 |
否 | |
| 表分區 | 輸入需要遷移數據的Oracle表分區,多個分區以&分隔,不填則遷移所有分區。 如果有子分區,以“分區.子分區”的格式填寫,例如“P2.SUBP1”。 |
P0&P1&P2.SUBP1&P2.SUBP3 | |
| 作業拆分字段 | 使用該字段將作業拆分為多個子作業并發執行。 | - | |
| 拆分字段最小值 | 表示抽取數據時“作業拆分字段”的最小值。 | - | |
| 拆分字段最大值 | 表示抽取數據時“作業拆分字段”的最大值。 | - | |
| 子作業個數 | 根據“作業拆分字段”的最小值和最大值限定的數據范圍,將作業拆分為多少個子作業執行。 | - |
說明Oracle作為源端時,如果未配置“抽取分區字段”或者“按表分區抽取”這2個參數,CDM自動使用ROWID進行數據分區。
表示導出所有以“SCHEMA”開頭的數據庫。
表示導出所有以“SCHEMA”結尾的數據庫。
表示數據庫名稱中只要有“SCHEMA”字符串,就全部導出。
表示導出所有以“table”開頭的表。
表示導出所有以“table”結尾的表。
表示表名中只要有“table”字符串,就全部導出。