DataWorksData Integration支援使用Doris Writer匯入表資料至Doris。本文為您介紹DataWorks的Doris資料同步能力支援情況。
支援的Doris版本
Doris Writer使用的驅動版本是MySQL Driver 5.1.47,該驅動支援的核心版本如下。驅動能力詳情請參見Doris官網文檔。
Doris 版本 | 是否支援 |
0.x.x | 支援 |
1.1.x | 支援 |
1.2.x | 支援 |
2.x | 支援 |
使用限制
Data Integration僅支援離線寫入Doris。
支援的欄位類型
不同Doris版本支援不同的資料類型和彙總模型。各版本Doris的全量欄位類型請參見Doris的官方文檔,下面為您介紹Doris當前主要欄位的支援情況。
類型 | 支援模型 | Doris版本 | 離線寫入(Doris Writer) |
SMALLINT | Aggregate,Unique,Duplicate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
INT | Aggregate,Unique,Duplicate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
BIGINT | Aggregate,Unique,Duplicate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
LARGEINT | Aggregate,Unique,Duplicate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
FLOAT | Aggregate,Unique,Duplicate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
DOUBLE | Aggregate,Unique,Duplicate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
DECIMAL | Aggregate,Unique,Duplicate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
DECIMALV3 | Aggregate,Unique,Duplicate | 1.2.1+、2.x | 支援 |
DATE | Aggregate,Unique,Duplicate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
DATETIME | Aggregate,Unique,Duplicate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
DATEV2 | Aggregate,Unique,Duplicate | 1.2.x、2.x | 支援 |
DATATIMEV2 | Aggregate,Unique,Duplicate | 1.2.x、2.x | 支援 |
CHAR | Aggregate,Unique,Duplicate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
VARCHAR | Aggregate,Unique,Duplicate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
STRING | Aggregate,Unique,Duplicate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
VARCHAR | Aggregate,Unique,Duplicate | 1.1.x、1.2.x、2.x | 支援 |
ARRAY | Duplicate | 1.2.x、2.x | 支援 |
JSONB | Aggregate,Unique,Duplicate | 1.2.x、2.x | 支援 |
HLL | Aggregate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
BITMAP | Aggregate | 0.x.x、1.1.x、1.2.x、2.x | 支援 |
QUANTILE_STATE | Aggregate | 1.2.x、2.x | 支援 |
實現原理
Doris Writer通過Doris原生支援的StreamLoad方式匯入資料,Doris Writer會將Reader端讀取到的資料緩衝在記憶體中,並拼接成文本,然後大量匯入至Doris資料庫。更多詳情請參見Doris官方文檔。
資料同步前準備
在DataWorks上進行資料同步前,您需要參考本文提前在Doris側進行資料同步環境準備,以便在DataWorks上進行Doris資料同步任務配置與執行時服務正常。以下為您介紹Doris同步前的相關環境準備。
準備工作1:確認Doris的版本
Data Integration對Doris版本有要求,您可以參考上文支援的Doris版本章節,查看當前待同步的Doris是否符合版本要求。您可以在Doris的官方網站下載對應的版本,並且安裝。
準備工作2:建立帳號,並配置帳號許可權
您需要規劃一個資料倉儲的登入帳號用於後續操作,同時,您需要為該帳號設定密碼,以便後續串連到資料倉儲。如果您要使用Doris預設的root使用者進行登入,那麼您需要為root使用者佈建密碼。root使用者預設沒有密碼,您可以在Doris上執行SQL來設定密碼:
SET PASSWORD FOR 'root' = PASSWORD('密碼')
準備工作3:配置Doris的網路連接
使用StreamLoad匯入資料,需要訪問FE節點的私網地址。如果訪問FE的公網地址,則會被重新導向到BE節點的內網IP(資料操作問題)。因此,您需要將Doris的網路與Data Integration使用的Serverless資源群組或獨享Data Integration資源群組打通,使之通過內網地址進行訪問。網路打通的具體操作可以參考網路連通方案。
建立資料來源
在進行資料同步任務開發時,您需要在DataWorks上建立一個對應的資料來源,操作流程請參見建立並管理資料來源,詳細的配置參數解釋可在配置介面查看對應參數的文案提示。
下面對Doris資料來源的幾個配置項進行說明:
JdbcUrl:請填寫JDBC串連串,包含IP、連接埠號碼、資料庫和串連參數。支援公網IP和私網IP,如果使用公網IP,請確保Data Integration資源群組能夠正常訪問Doris所在的主機。
FE endpoint:請填寫FE節點的IP和連接埠。如果您的叢集中有多個FE節點,可以配置多個FE節點的IP和連接埠,每個IP和連接埠以逗號分隔,例如
ip1:port1,ip2:port2
。在測試連通性時,會對所有的FE endpoint做連通性測試。使用者名稱:請填寫Doris資料庫的使用者名稱。
密碼:請填寫Doris資料庫對應使用者的密碼。
資料同步任務開發
資料同步任務的配置入口和通用配置流程可參見下文的配置指導。
單表離線同步任務配置指導
操作流程請參見通過嚮導模式配置離線同步任務、通過指令碼模式配置離線同步任務。
指令碼模式配置的全量參數和指令碼Demo請參見下文的附錄:指令碼Demo與參數說明。
附錄:指令碼Demo與參數說明
離線任務指令碼配置方式
如果您配置離線任務時使用指令碼模式的方式進行配置,您需要按照統一的指令碼格式要求,在任務指令碼中編寫相應的參數,詳情請參見通過指令碼模式配置離線同步任務,以下為您介紹指令碼模式下資料來源的參數配置詳情。