配置HDFS源端參數
更新時間 2023-08-17 15:42:30
最近更新時間: 2023-08-17 15:42:30
分享文章
本章節主要介紹配置HDFS源端參數。
作業中源連接為配置HDFS連接時,即從MRS HDFS、FusionInsight HDFS、Apache HDFS導出數據時,源端作業參數如下表所示。
表 HDFS作為源端時的作業參數
| 參數類型 | 參數名 | 說明 | 取值樣例 |
|---|---|---|---|
| 基本參數 | 源連接名稱 | 由用戶下拉選擇即可。 | hdfs_to_cdm |
| 基本參數 | 源目錄或文件 | “列表文件”選擇為“否”時,才有該參數。 待遷移數據的目錄或單個文件路徑。 該參數支持配置為時間宏變量,且一個路徑名中可以有多個宏定義變量。使用時間宏變量和定時任務配合,可以實現定期同步新增數據。 |
/user/cdm/ |
| 基本參數 | 文件格式 | 傳輸數據時所用的文件格式,可選擇以下文件格式: CSV格式:以CSV格式解析源文件,用于遷移文件到數據表的場景。 二進制格式:選擇“二進制格式”時不解析文件內容直接傳輸,不要求文件格式必須為二進制。適用于文件到文件的原樣復制。 Parquet格式:以Parquet格式解析源文件,用于HDFS數據導到表的場景。 |
CSV格式 |
| 基本參數 | 列表文件 | 當“文件格式”選擇為“二進制格式”時,才有該參數。 打開列表文件功能時,支持讀取OBS桶中文件(如txt文件)的內容作為待遷移文件的列表。該文件中的內容應為待遷移文件的絕對路徑(不支持目錄),文件內容示例如下: /mrs/job-properties/application_1634891604621_0014/job.properties /mrs/job-properties/application_1634891604621_0029/job.properties |
是 |
| 基本參數 | 列表文件源連接 | 當“列表文件”選擇為“是”時,才有該參數。可選擇列表文件所在的OBS連接。 | OBS_test_link |
| 基本參數 | 列表文件OBS桶 | 當“列表文件”選擇為“是”時,才有該參數。該參數表示列表文件所在的OBS桶名。 | 01 |
| 基本參數 | 列表文件或目錄 | 當“列表文件”選擇為“是”時,才有該參數。該參數表示列表文件所在的OBS桶中的絕對路徑或目錄。 | /0521/Lists.txt |
| 高級屬性 | 換行符 | 文件中的換行符,默認自動識別“\n”、“\r”或“\r\n”。當“文件格式”選擇為“CSV格式”時,才有該參數。 | \n |
| 高級屬性 | 字段分隔符 | 文件中的字段分隔符,使用Tab鍵作為分隔符請輸入“\t”。當“文件格式”選擇為“CSV格式”時,才有該參數。 | , |
| 高級屬性 | 首行為標題行 | “文件格式”選擇“CSV格式”時才有該參數。在遷移CSV文件到表時,CDM默認是全部寫入,如果該參數選擇“是”,CDM會將CSV文件的第一行數據作為標題行,不寫入目的端的表。 | 否 |
| 高級屬性 | 源文件處理方式 | 作業執行成功后對源端文件的處理方式: 不處理。 重命名:作業執行成功后將源文件重命名,添加用戶名和時間戳的后綴。 刪除:作業執行成功后將源文件刪除。 |
不處理 |
| 高級屬性 | 啟動作業標識文件 | 選擇是否開啟作業標識文件的功能。當源端路徑下存在啟動作業的標識文件時才啟動作業,否則會掛起等待一段時間,等待時長在下方“等待時間”中配置。 | ok.txt |
| 高級屬性 | 過濾類型 | 滿足過濾條件的路徑或文件會被傳輸,該參數有“無”、“通配符”和“正則表達式”三種選擇。 | - |
| 高級屬性 | 路徑過濾器 | “過濾類型”選擇“通配符”時,用通配符過濾目錄,符合過濾器規則的目錄,允許進行遷移。支持配置多個路徑,中間使用“,”分隔。 | *input |
| 高級屬性 | 文件過濾器 | “過濾類型”選擇“通配符”時,用通配符過濾目錄下的文件,符合過濾器規則的文件,允許進行遷移。支持配置多個文件,中間使用“,”分隔。 | *.csv |
| 高級屬性 | 時間過濾 | 選擇“是”時,可以根據文件的修改時間,選擇性的傳輸文件。 | 是 |
| 高級屬性 | 起始時間 | “過濾類型”選擇“時間過濾器”時,可以指定一個時間值,當文件的修改時間大于該時間才會被傳輸,輸入的時間格式需為“yyyy-MM-dd HH:mm:ss”。 該參數支持配置為時間宏變量,例如**${timestamp(dateformat(yyyy-MM-dd HH:mm:ss,-90,DAY))}** 表示:只遷移最近90天內的文件。 |
2019-07-01 00:00:00 |
| 高級屬性 | 終止時間 | “過濾類型”選擇“時間過濾器”時,可以指定一個時間值,當文件的修改時間小于該時間才會被傳輸,輸入的時間格式需為“yyyy-MM-dd HH:mm:ss”。 該參數支持配置為時間宏變量,例如**${timestamp(dateformat(yyyy-MM-dd HH:mm:ss))}** 表示:只遷移修改時間為當前時間以前的文件。 |
2019-07-30 00:00:00 |
| 高級屬性 | 創建快照 | 如果選擇“是”,CDM讀取HDFS系統上的文件時,會先對待遷移的源目錄創建快照(不允許對單個文件創建快照),然后CDM遷移快照中的數據。 需要HDFS系統的管理員權限才可以創建快照,CDM作業完成后,快照會被刪除。 |
否 |
| 高級屬性 | 加密方式 | “文件格式”選擇“二進制格式”時,該參數才顯示。 如果源端數據是被加密過的,則CDM支持解密后再導出。這里選擇是否對源端數據解密,以及選擇解密算法: 無:不解密,直接導出。 AES-256-GCM:使用長度為256byte的AES對稱加密算法,目前加密算法只支持AES-256-GCM(NoPadding)。該參數在目的端為加密,在源端為解密。 |
AES-256-GCM |
| 高級屬性 | 數據加密密鑰 | “加密方式”選擇“AES-256-GCM”時顯示該參數,密鑰由長度64的十六進制數組成,且必須與加密時配置的“數據加密密鑰”一致。如果不一致系統不會報異常,只是解密出來的數據會錯誤。 | DD0AE00DFECD78BF051BCFDA25BD4E320DB0A7AC75A1F3FC3D3C56A457DCDC1B |
| 高級屬性 | 初始化向量 | “加密方式”選擇“AES-256-GCM”時顯示該參數,初始化向量由長度32的十六進制數組成,且必須與加密時配置的“初始化向量”一致。如果不一致系統不會報異常,只是解密出來的數據會錯誤。 | 5C91687BA886EDCD12ACBC3FF19A3C3F |
| 高級屬性 | MD5文件名后綴 | “文件格式”選擇“二進制格式”時,該參數才顯示。 校驗CDM抽取的文件,是否與源文件一致。 | .md5 |
說明HDFS文件編碼只能為“UTF-8”,故HDFS不支持設置文件編碼類型。