配置Hadoop Hive資料源

  • 文檔創建者:Roxy
  • 編輯次數:21
  • 最近更新:Nikozhan 于 2025-12-01
  • icon提示:4.0.29 之前版本,為保證寫入效能,建議使用 Hadoop Hive(HDFS) 資料連結。
    icon提示:
    4.0.29 及之後版本,若只是讀取 Hadoop Hive 資料庫資料,建立資料連結時,無需配置「HDFS 設定」;若需要寫入資料到 Hadoop Hive 資料庫,需要配置「HDFS 設定」。詳情請參見本文第四章內容。

    1. 概述

    1.1 版本

    FineDataLink 版本
    功能變動
    4.0.4.2-
    4.0.29建立資料連結時,Hadoop Hive (HDFS)Hadoop Hive資料源,合併為Hadoop Hive
    4.1.3

    資料寫入 Hive 資料庫時,支援建立、寫入分割槽

    4.1.13.2
    • 「HDFS設定」支援配置高可用 HDFS 地址和 HDFS 用

    • 支援寫入 Hive 壓縮表

    4.2.12.3 HDFS設定新增「OSS-HDFS」配置方式
    4.2.12.4

    HDFS 配置中:

    • 支援指定存放中間表的 HDFS 路

    • 支援配置擴展參數項

    • 認證方式支援 Kerberos


    1.2 應用場景

    Hadoop 是個很流行的分佈式計算解決方案,Hive 是建立在 Hadoop 上的資料倉儲基礎構架。

    FineDataLink 支援連結 Hadoop Hive ,進行定時任務讀寫

    2. 準備工作

    2.1 前提條件

    詳情請參見:前提條件

    2.2 版本和驅動

    下載驅動,並將其上傳至 FineDataLink,如何上傳可參見:驅動管理 2.1 節。

    支援的資料庫版本驅動包下載 日誌jar下載
    hive_1.1

    Hive1.1.zip

    日志jar.rar

    在上傳驅動包時,需要解壓「日誌jar」檔案和驅動一起上傳至 FineDataLink

    Hadoop_Hive_1.2;hive2.3;hive2.1.2;hive2.1.1;hive3.3.1

    Hadoop Hive.zip


    Hadoop Hive.zip

    注:若需要將 Hive 作為寫入資料源時,優先使用該驅動。

    2.3 收集連結資訊

    在連結資料庫之前,請收集以下資訊:

    • 資料庫所在伺服器的 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.4 具體連結步驟

    建立資料連結步驟請參見:建立並管理資料源

    配置資料連結時,驅動需要切換為「自訂」,換為本文 2.2 節的驅動。

    部分設定項說明見下表:

    2.4.1 基礎配置

    Hive「認證方式」可選擇兩種:帳號密碼、Kerberos,說明見下表:

    設定項
    說明
    帳號

    帳號密碼:輸入資料庫的帳號和密碼

    Kerberos

    Kerberos 認證方式詳情可參見:資料連結 Kerberos 認證

    使用 Kerberos 認證需要注意以下事項:

    • 連結前請檢查 /etc/hosts 中的機器名對應 IP 是否為局域網 IP

    • 檢查 /etc/hostname 中機器名設定和 /etc/hosts 中是否配置一緻

    • 檢查 FineDataLink 所在機器 hosts 配置的 IP+ 機器名是否正確

    • 本地連結時需要配置 /etc/hosts 檔案,新增遠端映射:IP+機器名,例如:192.168.5.206  centos-phoenix

    2.4.2 HDFS設定

    HDFS 配置方式有兩種:HDFS、OSS-HDFS(4.2.12.3 及之後版本新增),說明見下表:

    注:若需要向 Hadoop Hive 資料庫中寫入資料,為保證寫入效能,需要配置該設定項;若只是讀取 Hadoop Hive 資料庫中的資料,無需配置該設定項。

    配置方式為「HDFS」時,設定項說明如下表:

    設定項說明
    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

    HDFS 認證方式

    無認

    當 Hive 的認證方式選擇「帳號密碼」時,支援配置 HDFS 使用者,填寫後,使用配置的帳號作為連結 HDFS 的使用者;

    如果留空,預設使用啟動 Tomcat 時的伺服器使用者,連結 HDFS 進行讀寫

    Kerberos(4.2.12.4 及之後版本新增)

    配置項同 Hive 資料連結基礎配置中的 Kerberos 配置,詳情請參見上方表格;

    允許 Hive 資料連結和 HDFS 連結配置不同的認證方式

    HDFS裝載路徑可以選擇:預設、自訂

    預設時為 HDFS 根目錄 /fdl

    自訂填寫路徑時,需要從根目錄開始

    擴展參數項對 HDFS 做自訂參數配置

    配置方式為 「OSS-HDFS」時,設定項說明如下表所示:

    設定項
    說明
    OSS-HDFS地址

    格式:oss://<BucketName>.<BucketEndpoint>/<path>

    範例:oss://examplebucket.cn-shanghai.oss-dls.aliyuncs.com/dir/

    AccessKey ID

    AccessKey Secret

    AccessKey ID用於標識使用者

    AccessKey Secret是使用者用於加密簽章字串和OSS用來驗證簽章字串的金鑰

    3. 使用資料源

    3.1 資料開發-定時任務

    可以在資料同步資料轉換中使用資料源進行資料讀取和寫入。

    3.1.1 資料去向與映射-分割槽表

    定時任務支援選擇分割槽表作為資料去向,如下圖所示:

    詳情請參見:讀取、建立、寫入分割槽表

    定時任務自動建表支援指定分割槽鍵,如下圖所示:

    注:Hive 資料庫不支援動態分割槽鍵的值為中文。

    支援作為分割槽鍵的欄位類型:

    分類欄位類型
    Hive分割槽鍵支援的欄位類型
    • 整數類型:如 tinyint、smallint、int、bigint。

    • 浮點數類型:如 float、double。

    • 字串類型:如 string、varchar。

    • 日期類型:如 date、timestamp。

    Hive分割槽鍵不支援的欄位類型
    • 複雜類型:例如 array、map、struct 等,這些類型在 Hive 中不被支援作為分割槽鍵。

    • NULL 類型:Hive 不支援 NULL 作為分割槽鍵。

    • 集合類型:例如 set、list、tuple 等,這些類型在 Hive 中不被支援作為分割槽鍵。

    • 其他特定資料類型:例如 bit、decimal、binary 等,這些類型在 Hive 中也不被支援作為分割槽鍵。

    • 分割槽存在層級的關系,基於順序,自動形成層級,第 1 個分割槽鍵為一級分割槽,第 2 個分割槽鍵為二級分割槽,以此類推,最多 8 級分割槽。

    • 若某個欄位被定義為分割槽欄位,其在欄位映射裏預設處於末尾。

    3.1.2 資料去向與映射-儲存格式

    4.2.12.4 及之後版本,Hive 支援配置「儲存格式」。

    寫入 Hive 資料庫時:

    1)若目標表為自動建表,支援的儲存格式:「ORC」、「HOLODESK」、「PARQUET」。

    2)若目標表為已存在表,不限制儲存格式。

    3)不同的檔案格式支援不同的進階配置項,可以透過手動建表進行配置:

    • ORC:可以指定壓縮類型、壓縮快大小、行組級別索引資料量大小、建立行級別索引等

    • Textfile:可以指定行列分隔符、壓縮格式等

    • Parquet:可以指定壓縮類型、啟動字典編碼、每個頁面大小、寫入檔案塊大小等

    4)若制定目標表檔案儲存格式必須為 Textfile 且資料中有預設行列分隔符時,會出現資料錯位或一筆資料被拆分成多條。建議透過建立 ORC 表來避免這種情況的發生。如果指定要用 Textfile 格式儲存,建議透過手動建表時修改 Textfile 預設分隔符為資料中不會出現的字元。

    3.1.2 寫入方式

    當選擇的目標表是分割槽表(包含分割槽鍵),或自動建表時定義了分割槽鍵,寫入方式新增「分割槽寫入」設定項。如下圖所示:

    詳情請參見:讀取、建立、寫入分割槽表

    4. 相容說明

    4.2.12.4 之前的版本,升級至 4.2.12.4 及之後的版本:

    1)對於已存在的資料連結:

    • 當 Hive 是帳號密碼認證時,HDFS 認證方式為無認證,HDFS 帳號與之前一緻;

    • 當 Hive 是 Kerberos 認證時,HDFS 認證方式為 Kerberos 認證,配置項和其內容與 Hive 的 Kerberos 認證的配置保持一緻;

    • HDFS 裝載路徑為預設值;

    2)寫入 Hive 選擇自動建表的任務,曆史版本自動建表的檔案格式均為 Textfile;

    3)寫入 Hive 選擇已存在表的任務,使用者開啟任務時,或者點選節點時獲取表格式進行展示;


    附件列表


    主題: 配置資料源
    • 有幫助
    • 沒幫助
    • 只是瀏覽
    • 评价文档,奖励 1 ~ 100 随机 F 豆!