配置HDFS目的端參數
更新時間 2023-08-17 15:46:48
最近更新時間: 2023-08-17 15:46:48
分享文章
本章節主要介紹配置HDFS目的端參數。
作業中目的連接為配置HDFS連接時,即導入數據到以下數據源時,目的端作業參數如下表所示。
表 HDFS作為目的端時的作業參數
| 參數名 | 說明 | 取值樣例 |
|---|---|---|
| 寫入目錄 | 寫入數據到HDFS服務器的目錄。 該參數支持配置為時間宏變量,且一個路徑名中可以有多個宏定義變量。使用時間宏變量和定時任務配合,可以實現定期同步新增數據。 |
/user/output |
| 文件格式 | 寫入后的文件格式,可選擇以下文件格式: CSV格式:按CSV格式寫入,適用于數據表到文件的遷移。 二進制格式:選擇“二進制格式”時不解析文件內容直接傳輸,CDM會原樣寫入文件,不改變原始文件格式,適用于文件到文件的遷移。 如果是文件類數據源(FTP/SFTP/HDFS/OBS)之間相互遷移數據,此處的“文件格式”只能選擇與源端的文件格式一致。 |
CSV格式 |
| 重復文件處理方式 | 只有文件名和文件大小都相同才會判定為重復文件。寫入時如果出現文件重復,可選擇如下處理方式: 替換重復文件 跳過重復文件 停止任務 |
停止任務 |
| 壓縮格式 | 寫入文件后,選擇對文件的壓縮格式。支持以下壓縮格式: NONE:不壓縮。 DEFLATE:壓縮為DEFLATE格式。 GZIP:壓縮為GZIP格式。 BZIP2:壓縮為BZIP2格式。 LZ4:壓縮為LZ4格式。 SNAPPY:壓縮為SNAPPY格式。 |
SNAPPY |
| 換行符 | 文件中的換行符,默認自動識別“\n”、“\r”或“\r\n”。“文件格式”為“二進制格式”時該參數值無效。 | \n |
| 字段分隔符 | 文件中的字段分隔符。“文件格式”為“二進制格式”時該參數值無效。 | , |
| 使用包圍符 | “文件格式”為“CSV格式”,才有該參數,用于將數據庫的表遷移到文件系統的場景。 選擇“是”時,如果源端數據表中的某一個字段內容包含字段分隔符或換行符,寫入目的端時CDM會使用雙引號(")作為包圍符將該字段內容括起來,作為一個整體存儲,避免其中的字段分隔符誤將一個字段分隔成兩個,或者換行符誤將字段換行。例如:數據庫中某字段為hello,world,使用包圍符后,導出到CSV文件的時候數據為"hello,world"。 |
否 |
| 首行為標題行 | 在遷移表到CSV文件時,CDM默認是不遷移表的標題行,如果該參數選擇“是”,CDM在才會將表的標題行數據寫入文件。 | 否 |
| 寫入到臨時文件 | 將二進制文件先寫入到臨時文件(臨時文件以“.tmp”作為后綴),遷移成功后,再進行rename或move操作,在目的端恢復文件。 | 否 |
| 作業成功標識文件 | 當作業執行成功時,會在寫入目錄下生成一個標識文件,文件名由用戶指定。不指定時默認關閉該功能。 | finish.txt |
| 自定義目錄層次 | 支持用戶自定義文件的目錄層次。例如:【表名】/【年】/【月】/【日】/【數據文件名】. csv | - |
| 目錄層次 | 指定文件的目錄層次,支持時間宏(時間格式為yyyy/MM/dd)。不填默認為不帶層次目錄。例如:${dateformat(yyyy/MM/dd, -1, DAY)} | - |
| 加密方式 | “文件格式”選擇“二進制格式”時,該參數才顯示。 選擇是否對寫入的數據進行加密: 無:不加密,直接寫入數據。 AES-256-GCM:使用長度為256byte的AES對稱加密算法,目前加密算法只支持AES-256-GCM(NoPadding)。該參數在目的端為加密,在源端為解密。 |
AES-256-GCM |
| 數據加密密鑰 | “加密方式”選擇“AES-256-GCM”時顯示該參數,密鑰由長度64的十六進制數組成。 請您牢記這里配置的“數據加密密鑰”,解密時的密鑰與這里配置的必須一致。如果不一致系統不會報異常,只是解密出來的數據會錯誤。 |
DD0AE00DFECD78BF051BCFDA25BD4E320DB0A7AC75A1F3FC3D3C56A457DCDC1B |
| 初始化向量 | “加密方式”選擇“AES-256-GCM”時顯示該參數,初始化向量由長度32的十六進制數組成。 請您牢記這里配置的“初始化向量”,解密時的初始化向量與這里配置的必須一致。如果不一致系統不會報異常,只是解密出來的數據會錯誤。 |
5C91687BA886EDCD12ACBC3FF19A3C3F |
說明HDFS文件編碼只能為“UTF-8”,故HDFS不支持設置文件編碼類型。