您正在浏覽的是 FineBI 7.X 幫助文檔,點選跳轉至 FineBI 6.X 幫助文檔

Apache Impala資料連結

1. 概述

1.1 版本

FineBI 版本
功能變動
6.0
-
7.0.11「連結池設定」中新增「初始化SQL」設定項,可配置初始化 SQL 語句

1.2 應用場景

本文將介紹如何連結 Apache Impala 資料源。

注:Impala裏存在多個資料庫,一個資料連結只能連結一個資料庫,不支援單個資料連結連結多個資料庫。

2. 準備工作

2.1 版本和驅動

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

支援的資料庫版本  驅動包連結

Impala 2.2

Impala 2.3

Impala 2.8

Impala 2.9

Impala 2.10

ImpalaJDBC41.zip (用於僅載入當前方式上傳驅動)

ImpalaJDBC41.zip (用於優先載入當前方式上傳驅動)

Impala 2.10 kudu1.5

  

ClouderaImpalaJDBC41_2.5.43.rar


在上傳ImpalaJBDC41驅動時,如果選擇優先載入當前方式上傳驅動,那麼需要刪除ImpalaJBDC41驅動包中slf4j-api-1.7.36.jar檔案;如果選擇僅載入當前方式上傳驅動,則保留ImpalaJBDC41驅動包中slf4j-api-1.7.36.jar檔案。如下圖所示:

2.2 收集連結資訊

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

  • 資料庫所在伺服器的 IP 位址和埠號;

  • 資料庫的名稱;

  • 若是帳號密碼認證,需要收集帳號和密碼;若是 Kerberos 認證,需要收集用戶端 principal 和 keytab 鍵路徑;

3. 具體連結步驟

1)以管理者身分登入 FineBI ,點選「管理系統>資料連結>資料連結管理>建立」,點選「資料連結」,如下圖所示:

注:如果非管理者使用者想要配置資料連結,需要管理者給其分配管理系統下資料連結節點的權限,具體操作請查看 資料連結權限 建立连接.png

2)選擇 APACHE IMPALA 圖示,如下圖所示:

3)驅動切換為「自訂」選擇 2.1 節上傳的驅動,然後輸入 2.2 節的連結資訊。若使用者需要在直連版本下使用該資料連結,需要在 URL 後增加後綴參數 ;UseNativeQuery=1 ,如下圖所示:

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

3.png

各設定項說明如下表所示:

設定項

說明

認證相關說明若 Impala 資料庫存在認證,則需要在 URL 後加入AuthMech參數,不同參數值代表了不同的認證,如下表所示: 

注:若資料庫沒有帳號密碼時不需要加該參數。

含義
3username and password(帳號密碼認證)
2username(帳號認證)
1 kerberos(Kerberos認證)
0不認證 
  • URL 格式為:jdbc:impala://ip:port/dbname;authmech=n( n 可以等於 0、1、2、3 分別代表上面的認證方式)帳號密碼認證:AuthMech 參數值為 3 ,則 URL 格式為:jdbc:impala://ip:port/dbname;authmech=3

  • 帳號認證:AuthMech 參數值為 2 ,則 URL 格式為:jdbc:impala://ip:port/dbname;authmech=2

  • Kerberos 認證:AuthMech 參數值為 1 ,則 URL 格式為:jdbc:impala://ip:port/dbname;authmech=1

若資料庫的認證方式為 Kerberos 認證,除了要加 AuthMech 參數,需填入登入過 kdc 的用戶端名稱、keytab 鍵路徑和 Kerberos 認證對應 URL(加上AuthMechKrbHostFQDNKrbServiceName 三個參數)

參數含義
 AuthMech1
Kerberos 認證
KrbHostFQDNimpala server 為 krb5.conf 檔案中 admin_server 的值指定連結哪臺伺服器的 Impala
KrbServiceName 對應的服務名伺服器的別名,請參見 參數含義

URL 格式為:jdbc:impala://ip:port/default;AuthMech=1;KrbHostFQDN=hostalias;KrbServiceName=impala

例如:jdbc:impala://192.168.5.127:21050/default;AuthMech=1;KrbHostFQDN=quickstart.cloudera;KrbServiceName=impala,具體請參見 資料連結Kerberos認證 

初始化SQL7.0.11 及之後版本,新增該設定項,可配置初始化 SQL 語句;詳情請參見:配置資料連結入門
Kudu 地址指定 Kudu 的 Master 地址,格式為 hostname:port,如果有多個 Master,用逗號隔開

注:Kudu 地址裏不能配置 IP,要配置 hostname 才可以正常連結。

在配置 Kudu 地址前,需要在 FineReport 所在伺服器的系統 hosts 檔案裏,為所有 Kudu 伺服器配置 hostname 和 IP 的對應關係。

  • 如果 FR 所在伺服器是 Windows,在 C:\Windows\System32\drivers\etc的hosts檔案中新增對應的映射關係

  • 如果 FR 所在伺服器 Linux,在/etc/hosts檔案裏,新增對應的映射關係

注:如果是維運平台部署的FineDataLink,host 設定是透過維運平台的開發者模式進行配置,詳情參見:host設定

檔案裏的映射配置範例:

配置資料連結,填寫 host 映射後的內容:

4)點選「測試連結」,若連結成功則點選「儲存」,如下圖所示:

4. 新增資料庫的表至 FineBI

有兩種方式可以將資料庫中的表新增至 FineBI :

建立资料集.png

5. 注意事項

5.1 資料庫注意點

  • 連結 Apache Impala 資料庫時,FineBI 在資料查詢的時候忽略大小寫,欄位查詢結果都為小寫。

  • impala 不支援 date 型別,支援 timestamp。

  • impala 不支援多個 distinct count,多個去重記錄數預覽 SQL 會報錯。

5.2 版本升級後連結失敗

問題描述:

升級後連結失敗並報錯:Error initialized or created transport for authentication: java.io.IOException,如下圖所示:

29.png

原因分析:

升級後,Jass 代碼內建造出的 .ini 檔案會丟失掉,導致連結失敗。

升級後 

解決方案:

將 Kerberos 認證的方式更改為第二種,詳情可參見:Kerberos 認證方式二

附件列表


主题: 資料管理
已经是第一篇
已经是最后一篇
  • 有帮助
  • 没帮助
  • 只是浏览
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙