FineBI 配置数据连接


1 概述

1)版本

FineBI 版本

JAR 包时间

5.1

2020-1-15

2)功能简介

使用 FineBI 进行数据分析的第一步即获取数据,获取数据的第一步即定义数据来源。实际用户系统最常见的是将数据保存在数据库中,并且不断更新。无论使用 FineBI Spider 引擎的何种数据类型,都支持对数据的不断更新。

在进行数据连接时,数据库中表名字段名最好不要包含下表所示的特殊字符:

表名和字段名不支持包含下面字符 

JO JO_ __NULL__ __EMPTY__ ## __order __partition ##RF# JO
. [ ] {} ( ) = /

MT

RE_ MT_ RE+自然数 RE

2 创建数据连接

使用拥有 FineBI 数据连接权限的用户账号登录数据决策系统(一般为管理员),点击「管理系统>数据连接>数据连接管理>新建数据连接」可创建新的数据连接,如下图所示:

注:如果非管理员用户需要配置 FineBI 数据连接,需要管理员给其分配管理系统下「数据连接」节点的权限,具体操作请查看 数据连接控制 

3 选择数据库类型

点击「新建数据连接」按钮,有三种类型选择,分别为常用、所有、其他。如下图所示:

1)常用

固定显示几个常用的数据库类型,分别为 Hsql、IBM DB2、Microsoft SQL Server、MySQL、Oracle。如下图所示:

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)其他

「其他」类型中包括「JNDI数据连接」和「其他JDBC」。

  • JNDI 数据连接

点击新建数据连接按钮,在「其他」类型中选择「JNDI数据连接」:

注:JNDI 数据连接仅支持 Finereport ,FineBI 暂不支持数据准备处使用。

  • 其他 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 版本开始支持

用户名

对应连接目的数据库的用户名

密码

对应连接目的数据库的密码

不同数据库需配置的信息可能有所不同,下面介绍「模式」和「认证方式」这两个属性的具体信息。

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 数据集进行取数。

2)认证方式

其中 APACHE IMPALA、Hadoop Hive、SPARK  、TRANSWARP INCEPTOR、APACHE Phoenix、HBase 这六个数据库在配置数据连接时有 认证方式这一选项。

具体介绍如下所示:

  • 若数据库支持多种认证方式,则点击会出现认证方式下拉框。
  • 若选择「Kerberos」认证,则填入注册过 kdc 的客户端名称和 keytab 密钥路径。
  • 详细 Kerberos 认证请参考 数据连接 Kerberos 认证
3)高级设置

其中连接池属性的各参数说明如下表所示:

名称  

举例  

含义  

初始化连接数 initialSize=”1″ 连接池启动时创建的初始化连接数量
最大活动连接数 maxActive=”200″ 连接池在同一时间能够分配的最大活动连接的数量,如果设置为非正数则表示不限制
最大空闲连接数 maxIdle=”100″ 连接池中容许保持空闲状态的最大连接数量,超过的空闲连接将被释放,如果设置为负数表示不限制

注:第三方框架已经废弃该参数,设置无效果

最小空闲连接数 minIdle=”2″ 连接池中容许保持空闲状态的最小连接数量,低于这个数量将创建新的连接,如果设置为 0 则不创建
最大等待时间(毫秒) maxWait=”1000″ 当没有可用连接时,连接池等待连接被归还的最大时间(以毫秒计数),超过时间则抛出异常,如果设置为 -1 表示无限等待
SQL 验证查询 validationQuery=”SQL语句” 用来验证从连接池取出的连接,在将连接返回给调用者之前如果指定,则查询必须是一个 SQL SELECT 并且必须返回至少一行记录
获取连接前检验 testOnBorrow=”false” 指明是否在从池中取出连接前进行检验,如果检验失败,则从池中去除连接并尝试取出另一个
归还连接前检验 testOnReturn=”true” 指明是否在归还到池中前进行检验
开启空闲回收器检验 testWhileIdle=”true” 指明连接是否被空闲连接回收器(如果有)进行检验,如果检测失败,则连接将被从池中去除
空闲连接回收器休眠时间(毫秒) timeBetweenEvictionRunsMilli

s=”1000″

在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位.。如果设置为非正数,则不运行空闲连接回收器线程
空闲连接回收检查数 numTestsPerEvictionRun=”2″ 在每次空闲连接回收器线程(如果有)运行时检查的连接数量
保持空闲最小时间 minEvictableIdleTimeMilli

s=”18005000″

连接在池中保持空闲而不被空闲连接回收器线程(如果有)回收的最小时间值

5 管理数据连接

1)管理范围

在数据决策系统中,点击「管理系统>数据连接>数据连接管理」,点击某一数据库右侧图标。

「数据连接管理」各设置项说明如下表所示:

设置项

说明

测试连接

测试数据库配置是否成功

编辑

修改数据连接配置项

重命名

重命名该数据库

复制

复制该条数据库,且数据连接名自动加 1 

删除

删除该数据库

数据连接信息

显示数据库类型和创建者

需要注意以下几点:

  • 未适配的数据库类型右侧不显示“···”图标。

在管理数据连接时,数据连接的名字不能随意改动。更新到本地的表与数据库匹配依靠的是数据连接的名字,如果修改数据连接的名字,从该连接中取出的表将无法再更新。  

  • 如果是 SQL 数据集,也会导致没有「修改 SQL」的按钮。
  • 如果更新本地保存的表中的数据库,例如由开发环境变化到生产环境,表名与表结构均一致时,只需要修改数据连接的 URL 即可。本地保存的表依照数据连接名依然可以更新数据。
2)连接池状态

数据连接界面提供连接池状态页面,可看到目前已创建的数据连接及对应的连接状态。

「活动连接数」和「空闲连接数」的说明如下表所示:

连接池状态

说明

活动连接数

连接池最大可创建的连接数,若最大连接数是 10 ,程序已申请 10 个连接,而且一直在使用,第 11 个连接申请时报错:active 10 maxActive 10

空闲连接数

当前处于空闲状态的连接, 随时会转成活动连接, 空闲状态超过最大空闲连接时间时自动释放

活动连接数+空闲连接数=实际物理连接数

6 常见报错

1)数据无法预览

问题描述:

BI 连接服务器数据集,数据预览时有报错信息:find fieldinfo failed for table:XXX

原因分析:

数据库表中有重复的字段名,BI 是不支持重复字段名及空值的。

解决方案:

重新修改重复的字段名。

更多FineBI数据分析操作欢迎下载体验:点击下载个人免费数据分析可视化软件