OSS-HDFS服務(JindoFS服務)是一款雲原生資料湖儲存產品,OSS-HDFS資料來源為您提供讀取和寫入OSS-HDFS的雙向通道,本文為您介紹DataWorks的OSS-HDFS資料同步的能力支援情況。
使用限制
離線讀
使用OSS-HDFS Reader時,請注意以下事項:
由於連通資源群組到OSS-HDFS的網路鏈路比較複雜,建議您使用Serverless資源群組(推薦)和獨享Data Integration資源群組完成資料同步任務。您需要確保您的資源群組具備OSS-HDFS的網路訪問能力。
OSS-HDFS Reader支援以下功能:
支援text、csv、orc和parquet格式的檔案,且要求檔案內容存放的是一張邏輯意義上的二維表。
支援多種類型資料讀取,支援列常量。
支援遞迴讀取、支援萬用字元
*
和?
。多個File可以支援並發讀取。
OSS-HDFS Reader暫不支援單個File多線程並發讀取,此處涉及到單個File內部切分演算法。
離線寫
使用OSS-HDFS Writer時,請注意以下事項:
目前OSS-HDFS Writer僅支援text、orc和parquet三種格式的檔案,且檔案內容存放的必須是一張邏輯意義上的二維表。
對於text類型,需要保證寫入OSS-HDFS檔案的分隔字元與在Hive上建立表時的分隔字元一致,從而實現寫入OSS-HDFS資料與Hive表欄位關聯。
即時寫
支援即時寫入的能力。
支援即時寫入Hudi格式版本:0.14.x。
實現過程
OSS-HDFS Writer的實現過程如下所示:
根據您指定的path,建立一個OSS-HDFS檔案系統上不存在的臨時目錄。
建立規則:path_隨機。
將讀取的檔案寫入這個臨時目錄。
全部寫入後,將臨時目錄下的檔案移動到您指定的目錄(在建立檔案時保證檔案名稱不重複)。
刪除臨時目錄。如果在此過程中,發生網路中斷等情況造成無法與OSS-HDFS建立串連,需要您手動刪除已經寫入的檔案和臨時目錄。
支援的欄位類型
離線讀
ParquetFile、ORCFile、TextFile、CsvFile中的類型,會預設轉為Data Integration支援的內部類型,如下表所示。
類型分類 | OSS-HDFS資料類型 |
整數類 | TINYINT、SMALLINT、INT、BIGINT |
浮點類 | FLOAT、DOUBLE、DECIMAL |
字串類 | STRING、CHAR、VARCHAR |
日期時間類 | DATE、TIMESTAMP |
布爾類 | BOOLEAN |
LONG:OSS-HDFS檔案中的整數型別資料,例如123456789。
DOUBLE:OSS-HDFS檔案中的浮點類型資料,例如3.1415。
BOOLEAN:OSS-HDFS檔案中的布爾類型資料,例如true、false,不區分大小寫。
DATE:OSS-HDFS檔案中的時間類型資料,例如2014-12-31 00:00:00。
離線寫
OSS-HDFS Writer提供向OSS-HDFS檔案系統指定路徑中寫入TextFile檔案、 ORCFile檔案以及ParquetFile格式檔案。
OSS-HDFS支援的資料類型,如下表所示。
類型分類 | OSS-HDFS資料類型 |
整數類 | TINYINT、SMALLINT、INT和BIGINT |
浮點類 | FLOAT和DOUBLE |
字串類 | CHAR、VARCHAR和STRING |
布爾類 | BOOLEAN |
日期時間類 | DATE和TIMESTAMP |
建立資料來源
在進行資料同步任務開發時,您需要在DataWorks上建立一個對應的資料來源,操作流程請參見建立並管理資料來源,詳細的配置參數解釋可在配置介面查看對應參數的文案提示。
資料同步任務開發
資料同步任務的配置入口和通用配置流程可參見下文的配置指導。
單表離線同步任務配置指導
操作流程請參見通過嚮導模式配置離線同步任務、通過指令碼模式配置離線同步任務。
指令碼模式配置的全量參數和指令碼Demo請參見下文的附錄:OSS-HDFS指令碼Demo與參數說明。
單表即時同步任務配置指導
操作流程請參見配置單表增量資料即時同步、DataStudio側即時同步任務配置。
整庫(即時)全增量同步處理配置指導
操作流程請參見Data Integration側同步任務配置。
附錄:OSS-HDFS指令碼Demo與參數說明
離線任務指令碼配置方式
如果您配置離線任務時使用指令碼模式的方式進行配置,您需要按照統一的指令碼格式要求,在任務指令碼中編寫相應的參數,詳情請參見通過指令碼模式配置離線同步任務,以下為您介紹指令碼模式下資料來源的參數配置詳情。