本文將介紹如何連結 Apache Impala 資料源。
注:Impala裏存在多個資料庫,一個資料連結只能連結一個資料庫,不支援單個資料連結連結多個資料庫。
下載驅動,並將其上傳至 FineBI,如何上傳可參見:驅動管理 2.1 節
Impala 2.2
Impala 2.3
Impala 2.8
Impala 2.9
Impala 2.10
ImpalaJDBC41.zip
ClouderaImpalaJDBC41_2.5.43.rar
在連結資料庫之前,請收集以下資訊:
資料庫所在伺服器的 IP 位址和埠號;
資料庫的名稱;
若是帳號密碼認證,需要收集帳號和密碼;若是 Kerberos 認證,需要收集用戶端 principal 和 keytab 鍵路徑;
1)以管理者身分登入 FineBI ,點選「管理系統>資料連結>資料連結管理」,點選「新建資料連結」,如下圖所示:
注:如果非管理者使用者想要配置資料連結,需要管理者給其分配管理系統下資料連結節點的權限,具體操作請查看 資料連結權限
2)選擇 APACHE IMPALA 圖示,如下圖所示:
3)驅動切換為「自訂」選擇 2.1 節上傳的驅動,然後輸入 2.2 節的連結資訊。若使用者需要在直連版本下使用該資料連結,需要在 URL 後增加後綴參數 ;UseNativeQuery=1 ,如下圖所示:
Kerberos 認證方式詳情可參見:資料連結 kerberos 認證
若 Impala 資料庫存在認證,則需要在 URL 後加入AuthMech參數,不同參數值代表了不同的認證,如下表所示:
注:若資料庫沒有帳號密碼時不需要加該參數。
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(加上AuthMech、KrbHostFQDN、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認證
4)點選「測試連結」,若連結成功則點選「儲存」,如下圖所示:
有兩種方式可以將資料庫中的表新增至 FineBI :
新增資料庫表
新增SQL資料集
連結 Apache Impala 資料庫時,FineBI 在資料查詢的時候忽略大小寫,欄位查詢結果都為小寫。
impala 不支援 date 型別,支援 timestamp。
impala 不支援多個 distinct count,多個去重記錄數預覽 SQL 會報錯。
問題描述:
升級後連結失敗並報錯:Error initialized or created transport for authentication: java.io.IOException,如下圖所示:
原因分析:
升級後,Jass 代碼內建造出的 .ini 檔案會丟失掉,導致連結失敗。
升級後
解決方案:
將 Kerberos 認證的方式更改為第二種,詳情可參見:Kerberos 認證方式二
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙