1. 概述
配置資料連結線上視頻學習請參見 資料連結
1.1 版本
FineBI 版本 | 功能變動 |
5.1 | - |
5.1.20 | 4.3 進階設定佈局優化 |
1.2 功能簡介
使用 FineBI 進行資料分析的第一步即獲取資料,獲取資料的第一步即定義資料來源。實際使用者系統最常見的是將資料儲存在資料庫中,並且不斷更新。無論使用 FineBI Spider 引擎的何種資料型別,都支援對資料的不斷更新。
在進行資料連結時,不支援資料庫中表名和欄位名包含下表所示的特殊字元:
表名和欄位名不支援包含下面字元 | ||||||||
---|---|---|---|---|---|---|---|---|
JO | JO_ | __NULL__ | __EMPTY__ | ## | __order | __partition | ##RF# | JO |
. | [ | ] | {} | ( | ) | = | / | _ |
RE_ | MT | RE+自然数 | RE | - | MT_ | MT |
2. 建立資料連結
使用擁有 FineBI 資料連結權限的使用者帳號登入數據決策系統(一般為管理者),點選「管理系統>資料連結>資料連結管理>新建資料連結」可建立新的資料連結,如下圖所示:
注:如果非管理者使用者需要配置 FineBI 資料連結,需要管理者給其分配管理系統下「資料連結」節點的權限,具體操作請查看 資料連結控製
3. 選擇資料庫型別
點選「新建資料連結」按鈕,有三種型別選擇,分別為常用、所有、其他。如下圖所示:
3.1 常用
固定顯示幾個常用的資料庫型別,分別為 Hsql、IBM DB2、Microsoft SQL Server、MySQL、Oracle。如下圖所示:
3.2 所有
顯示 FineBI 內建支援和插件支援的資料庫型別,分別為:阿里雲AnalyticDB、Amazon Redshift、Apache Impala、Apache KYLIN、Apache Phoenix、DERBY、GBase 8A、GBase 8S、GBase 8T、H2、華為雲DWS、Fusioninsight elk、Fusioninsight HD、GaussDB 200、Hadoop Hive、HBase、HP Vertica、HSQL、IBM DB2、INFORMIX、KINGBASE、Microsoft SQL Server、MySQL、Oracle、Pivotal Greenplum Database、Postgresql、Presto、SAP HANA、SAP Sybase、SPARK、Sqlite、TeraData、TRANSWARP INCEPTOR,以及安裝插件支援的資料庫型別,如下圖所示:
注:可透過「內建支援」和「插件支援」的勾選,對資料庫型別進行篩選;若都不勾選,則顯示空白。
3.3 其他
「其他」型別中包括「JNDI資料連結」和「其他JDBC」。如下圖所示:
3.3.1 JNDI 資料連結
點選建立資料連結按鈕,在「其他」型別中選擇「JNDI資料連結」,如下圖所示:
注:JNDI 資料連結僅支援 Finereport ,FineBI 暫不支援資料準備處使用。
3.3.2 其他 JDBC
如果資料庫列表中沒有所需的資料庫型別,則選擇「其他」型別下的其他JDBC,將對應驅動包放置在%FineBI%\webapps\webroot\WEB-INF\lib下,並重啓 FineBI,需要手動輸入驅動器名稱、URL 等完整資料連結資訊,點選「測試連結」連結成功後,點選「儲存」即可。如下圖所示:
4. 配置資訊介紹
以下為部分數據連接信息的詳細解釋:
連結資訊 | 説明 |
---|---|
資料連結名稱 | 建立資料的名稱,用於系統中區分不同資料庫的連結 |
驅動 | 用於資料連結的驅動過程,根據自身資料庫型別,填入對應連結頁面提供的資訊 |
URL | 資料連結的 URL 包含資料庫名稱、IP 、埠等資訊,對應資料連結頁面提供了 URL 範例,根據自身資料庫的資訊修改填入即可,例如 MySQL 的 URL 為:jdbc:mysql://ip:port/dbname 若自身資料庫 IP 為120.27.40.246,埠為3306,資料庫名稱為 mysql ,則填入的 URL 為 jdbc:mysql://120.27.40.246:3306/mysql |
編碼 | 預設直接使用自動即可,如果出現新增資料庫表、sql資料集或者伺服器資料集亂碼可以修改當前資料連結對應的的編碼。 注:2019-01-07 及之後的 FineBI 版本開始支援 |
帳號 | 對應連結目的資料庫的帳號 |
密碼 | 對應連結目的資料庫的密碼 |
不同資料庫需配置的資訊可能有所不同,下面介紹「模式」和「認證方式」這兩個屬性的具體資訊。
4.1 模式
在連結 Amazon Redshift 、Apache KYLIN、Apache Phoenix、DEBRY、HP Vertica、IBM DB2、INFORMIX、Microsoft SQL Server、Oracle、Pivotal Greenplum Database、Postgresql、GBase 8S、GBase 8T、KINGBASE、Presto、SAP HANA、SAP Sybase、Hbase 這些資料庫時,會比其他資料連結多了一步:模式,如下圖所示:
模式介紹如下所示:
如果這些資料庫未進行模式選擇,則預設選擇的是第一個模式。
有些資料庫不需要選擇模式,也沒有模式選擇的按鈕,則無需進行模式選擇。
模式預設不可編輯,點選「點選連結資料庫」且連結成功後可編輯。
有模式選擇的資料庫,需要使用者的資料庫中有可用的模式,否則會報錯。
需要正確選擇資料庫對應的模式,否則會導致新增資料庫表時顯示「當前資料連結中無可用表」,只能透過 SQL 資料集進行取數。
4.2 認證方式
其中 APACHE IMPALA、Hadoop Hive、SPARK 、TRANSWARP INCEPTOR、APACHE Phoenix、HBase 這六個資料庫在配置資料連結時有 認證方式這一選項。如下圖所示:
具體介紹如下所示:
若資料庫支援多種認證方式,則點選會出現認證方式下拉框。
若選擇「Kerberos」認證,則填入登入過 kdc 的用戶端名稱和 keytab 鍵路徑。
詳細 Kerberos 認證請參考 資料連結 Kerberos 認證
4.3 高階設定
高階設定介面如下圖所示:
其中連結池屬性的各參數說明如下表所示
常用連結池屬性
名稱 | druid學名 | 預設值 | 含義 |
---|---|---|---|
最大活動連結數 | maxActive | 50 | 連結池在同一時間能夠分配的最大活動連結的數量 |
校驗語句 | validationQuery | 默認語句 | 用來檢查連結是否有效的 SQL 語句,要求是一個查詢語句,常用select 'x' 。使用者可自訂該語句。 |
獲取連結前檢驗 | testOnBorrow | 是 | 申請連結時執行 validationQuery 檢查連結是否有效 |
最大等待時間 | maxWait | 10000 | 獲取連結時最大等待時間,單位毫秒 |
不太常用的連結池屬性(如無特殊場景不建議修改)
名稱 | druid學名 | 預設值 | 含義 |
---|---|---|---|
初始化連結數 | initialSize | 0 | 初始化時建立物理連結的個數 |
最小閒置連結數 | minIdle | 0 | 連結池最小連結數量 |
歸還連結前校驗 | testOnReturn | 否 | 歸還連結時執行validationQuery檢查連結是否有效 |
開啓閒置回收器校驗 | testWhileIdle | 否 | 指明連結是否被閒置連結回收器(如果有)進行檢驗,如果檢查失敗,則連結將被從池中去除 |
閒置連結回收器休眠時間 | timeBetweenEvictionRunsMillis | -1 | 在閒置連結回收器執行緒運作期間休眠的時間值,以毫秒為單位 |
閒置連結回收檢查數 | numTestPerEvictionRun | 3 | 在每次閒置連結回收器執行緒(如果有)運作時檢查的連結數量 |
保持閒置最小時間值 | minEvictableIdleTimeMillis | 1800s | 連結保持閒置而不被驅逐的最小時間 |
5. 管理資料連結
5.1 管理範圍
在數據決策系統中,點選「管理系統>資料連結>資料連結管理」,點選某一資料庫右側圖示,如下圖所示:
「資料連結管理」各設定項說明如下表所示:
設定項 | 說明 |
---|---|
測試連結 | 測試資料庫配置是否成功 |
編輯 | 修改資料連結配置項 |
重新命名 | 重命名該資料庫 |
複製 | 複製該筆資料庫,且資料連結名自動加 1 |
刪除 | 刪除該資料庫 |
資料連結資訊 | 顯示資料庫型別和建立者 |
需要注意以下幾點:
未適配的資料庫型別右側不顯示圖標。
在管理資料連結時,資料連結的名稱不能隨意改動。更新到本地的表與資料庫匹配依靠的是資料連結的名稱,如果修改資料連結的名稱,從該連結中取出的表將無法再更新。
如果是 SQL 資料集,也會導致沒有「修改 SQL」的按鈕。
如果更新本地儲存的表中的資料庫,例如由開發環境變化到生產環境,表名與表結構均一致時,只需要修改資料連結的 URL 即可。本地儲存的表依照資料連結名依然可以更新資料。
5.2 連結池狀態
資料連結介面提供連結池狀態頁面,可看到目前已建立的資料連結及對應的連結狀態,如下圖所示:
「活動連結數」和「空間連結數」的說明如下表所示:
連結池狀態 | 説明 |
---|---|
活動連結數 | 連結池最大可建立的連結數,若最大連結數是 10 ,過程已申請 10 個連結,而且一直在使用,第 11 個連結申請時報錯:active 10 maxActive 10 |
空間連結數 | 當前處於閒置狀態的連結, 隨時會轉成活動連結, 閒置狀態超過最大閒置連結時間時自動釋放 活動連結數+空間連結數=實際物理連結數 |