「HDFS設定」支援配置高可用 HDFS 地址和 HDFS 用戶
支援寫入 Hive 壓縮表
HDFS 配置中:
支援指定存放中間表的 HDFS 路徑
支援配置擴展參數項
認證方式支援 Kerberos
Hadoop 是個很流行的分佈式計算解決方案,Hive 是建立在 Hadoop 上的資料倉儲基礎構架。
FineDataLink 支援連結 Hadoop Hive ,進行定時任務讀寫。
詳情請參見:前提條件
Hive 驅動
請根據數據庫版本下載對應的驅動,並將其上傳至 FineDataLink,如何上傳可參見:驅動管理 2.1 節。
Hadoop_Hive_1.2
hive2.3
hive2.1.2
hive2.1.1
hive3.3.1
(帆軟不提供驅動)
日志jar.rar
在上傳驅動包時,需要解壓「日志jar」文件和驅動一起上傳至 FineDataLink
OSS-HDFS 檔案儲存驅動
如需使用 OSS-HDFS 檔案儲存,需要額外安裝驅動 。
驅動檔案:hadoop-aliyun-3.3.6.jar
若 FineDataLink 為獨立部署的工程,將驅動檔案放置到 %FineDataLink%/webroot/web-inf/lib 下;放置後,需要重啟 FDL 工程 。
若 FineDataLink 為 OPS 部署的工程,將驅動檔案上傳至 FineDataLink 工程外掛目錄的 customlib 資料夾下
如忘記工程外掛目錄位置,請參考文檔查詢:匯出專案部署資訊;放置後,需要重啟 FDL 工程 。
在連結資料庫之前,請收集以下資訊:
資料庫所在伺服器的 IP 地址和埠號。
資料庫的名稱。
若是帳號密碼認證,需要收集帳號和密碼;若是 Kerberos 認證,需要收集使用者端 principal 和 keytab 金鑰路徑。
HDFS 檔案系統地址(IP 地址和埠號)(若只是讀取 Hadoop Hive 資料庫中的資料,無需準備該資訊;若需要向Hadoop Hive 資料庫中寫入資料,為保證寫入效能,需要準備該資訊)。注:同時需要保證 FineDataLink 所在伺服器能存取 HDFS 檔案系統埠,例如 HDFS 檔案系統預設埠為 8020,且伺服器開啟了防火牆,則需要參考下文開放 8020 埠。
Windows 系統開放埠步驟請參見:Windows伺服器設定出入站規則
Linux 系統開放埠步驟請參見:Linux防火墻使用及配置
若需要寫入 Hive 壓縮表,4.1.13.2 及之後的版本可以配置資料連結 URL,範例為:jdbc:hive2://192.168.101.119:10000/hive?hive.exec.compress.output=true;mapred.output.compression.codec=com.hadoop.compression.lzo.LzopCodec;hive.stats.autogather=false
建立資料連結步驟請參見:建立並管理資料源
配置資料連結時,驅動需要切換為「自訂」,換為本文 2.2 節的驅動。
部分設定項說明見下表:
Hive「認證方式」可選擇兩種:帳號密碼、Kerberos,說明見下表:
帳號密碼:輸入資料庫的帳號和密碼
Kerberos 認證方式詳情可參見:資料連結 Kerberos 認證
使用 Kerberos 認證需要注意以下事項:
連結前請檢查 /etc/hosts 中的機器名對應 IP 是否為局域網 IP
檢查 /etc/hostname 中機器名設定和 /etc/hosts 中是否配置一緻
檢查 FineDataLink 所在機器 hosts 配置的 IP+ 機器名是否正確
本地連結時需要配置 /etc/hosts 檔案,新增遠端映射:IP+機器名,例如:192.168.5.206 centos-phoenix
HDFS 配置方式有兩種:HDFS、OSS-HDFS(4.2.12.3 及之後版本新增),說明見下表:
注:若需要向 Hadoop Hive 資料庫中寫入資料,為保證寫入效能,需要配置該設定項;若只是讀取 Hadoop Hive 資料庫中的資料,無需配置該設定項。
配置方式為「HDFS」時,設定項說明如下表:
為 Hadoop HDFS檔案系統處於活躍狀態的節點地址
格式:hdfs://<hostname>:<port>/<path>
範例:hdfs://nn01:8020/user/
確定 HDFS 地址中 IP 和埠的方法請參見:確認HDFS地址中的IP和埠
4.1.13.2 以及之後的版本支援填寫多個地址,多個地址用逗號隔開,例如:hdfs://ip1:port1,hdfs://ip2:port2,hdfs://ip3:port3
無認證
當 Hive 的認證方式選擇「帳號密碼」時,支援配置 HDFS 使用者,填寫後,使用配置的帳號作為連結 HDFS 的使用者;
如果留空,預設使用啟動 Tomcat 時的伺服器使用者,連結 HDFS 進行讀寫
Kerberos(4.2.12.4 及之後版本新增)
配置項同 Hive 資料連結基礎配置中的 Kerberos 配置,詳情請參見上方表格;
允許 Hive 資料連結和 HDFS 連結配置不同的認證方式
預設時為 HDFS 根目錄 /fdl
自訂填寫路徑時,需要從根目錄開始
配置方式為 「OSS-HDFS」時,設定項說明如下表所示:
格式:oss://bucketname.endpoint/path
範例:oss://fdltest-flyzhu.cn-hangzhou.oss-dls.aliyuncs.com/
AccessKey ID
AccessKey Secret
AccessKey Secret是使用者用於加密簽章字串和OSS用來驗證簽章字串的金鑰
可以在資料同步、資料轉換中使用資料源進行資料讀取和寫入。
注:寫入時欄位映射處不顯示主鍵欄、NOT NULL 欄。
定時任務支援選擇分割槽表作為資料去向,如下圖所示:
詳情請參見:讀取、建立、寫入分割槽表
定時任務自動建表支援指定分割槽鍵,如下圖所示:
注:Hive 資料庫不支援動態分割槽鍵的值為中文。
支援作為分割槽鍵的欄位類型:
整數類型:如 tinyint、smallint、int、bigint。
浮點數類型:如 float、double。
字串類型:如 string、varchar。
日期類型:如 date、timestamp。
複雜類型:例如 array、map、struct 等,這些類型在 Hive 中不被支援作為分割槽鍵。
NULL 類型:Hive 不支援 NULL 作為分割槽鍵。
集合類型:例如 set、list、tuple 等,這些類型在 Hive 中不被支援作為分割槽鍵。
其他特定資料類型:例如 bit、decimal、binary 等,這些類型在 Hive 中也不被支援作為分割槽鍵。
分割槽存在層級的關系,基於順序,自動形成層級,第 1 個分割槽鍵為一級分割槽,第 2 個分割槽鍵為二級分割槽,以此類推,最多 8 級分割槽。
若某個欄位被定義為分割槽欄位,其在欄位映射裏預設處於末尾。
4.2.12.4 及之後版本,Hive 支援配置「儲存格式」。
寫入 Hive 資料庫時:
1)若目標表為自動建表,支援的儲存格式:「ORC」、「HOLODESK」、「PARQUET」。
2)若目標表為已存在表,不限制儲存格式。
3)不同的檔案格式支援不同的進階配置項,可以透過手動建表進行配置:
ORC:可以指定壓縮類型、壓縮快大小、行組級別索引資料量大小、建立行級別索引等
Textfile:可以指定行列分隔符、壓縮格式等
Parquet:可以指定壓縮類型、啟動字典編碼、每個頁面大小、寫入檔案塊大小等
4)若制定目標表檔案儲存格式必須為 Textfile 且資料中有預設行列分隔符時,會出現資料錯位或一筆資料被拆分成多條。建議透過建立 ORC 表來避免這種情況的發生。如果指定要用 Textfile 格式儲存,建議透過手動建表時修改 Textfile 預設分隔符為資料中不會出現的字元。
當選擇的目標表是分割槽表(包含分割槽鍵),或自動建表時定義了分割槽鍵,寫入方式新增「分割槽寫入」設定項。如下圖所示:
4.2.12.4 之前的版本,升級至 4.2.12.4 及之後的版本:
1)對於已存在的資料連結:
當 Hive 是帳號密碼認證時,HDFS 認證方式為無認證,HDFS 帳號與之前一緻;
當 Hive 是 Kerberos 認證時,HDFS 認證方式為 Kerberos 認證,配置項和其內容與 Hive 的 Kerberos 認證的配置保持一緻;
HDFS 裝載路徑為預設值;
2)寫入 Hive 選擇自動建表的任務,曆史版本自動建表的檔案格式均為 Textfile;
3)寫入 Hive 選擇已存在表的任務,使用者開啟任務時,或者點選節點時獲取表格式進行展示;
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙