1. 概述编辑
配置数据连接在线视频学习请参见 数据连接
1.1 版本
FineBI 版本 | JAR 包时间 |
5.1 | 2020-1-15 |
1.2 功能简介
使用 FineBI 进行数据分析的第一步即获取数据,获取数据的第一步即定义数据来源。实际用户系统最常见的是将数据保存在数据库中,并且不断更新。无论使用 FineBI Spider 引擎的何种数据类型,都支持对数据的不断更新。
在进行数据连接时,不支持数据库中表名和字段名包含下表所示的特殊字符:
表名和字段名不支持包含下面字符 | ||||||||
---|---|---|---|---|---|---|---|---|
JO | JO_ | __NULL__ | __EMPTY__ | ## | __order | __partition | ##RF# | JO |
. | [ | ] | {} | ( | ) | = | / | _ |
RE_ | MT | RE+自然数 | RE | - | MT_ | MT |
2. 创建数据连接编辑
2.1 管理系统节点中创建
使用拥有 FineBI 数据连接权限的用户账号登录数据决策系统(一般为管理员),点击「管理系统>数据连接>数据连接管理>新建数据连接」可创建新的数据连接,如下图所示:
注:如果非管理员用户需要配置 FineBI 数据连接,需要管理员给其分配管理系统下「数据连接」节点的权限,具体操作请查看 数据连接控制
2.2 使用创建按钮创建
注:这种方法适用于 2020-08-04 之前的 JAR 。
在数据决策系统左下角直接点击「创建>新建数据连接」,快速进入数据连接创建页面,如下图所示:
3. 选择数据库类型编辑
点击「新建数据连接」按钮,有三种类型选择,分别为常用、所有、其他。如下图所示:
2.1 常用
固定显示几个常用的数据库类型,分别为 Hsql、IBM DB2、Microsoft SQL Server、MySQL、Oracle。如下图所示:
2.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,以及安装插件支持的数据库类型,如下图所示:
注:可通过「内置支持」和「插件支持」的勾选,对数据库类型进行筛选;若都不勾选,则显示空白。
2.3 其他
「其他」类型中包括「JNDI数据连接」和「其他JDBC」。如下图所示:
2.3.1 JNDI 数据连接
点击新建数据连接按钮,在「其他」类型中选择「JNDI数据连接」,如下图所示:
注:JNDI 数据连接仅支持 Finereport ,FineBI 暂不支持数据准备处使用。
2.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 这些数据库时,会比其他数据连接多了一步:模式。如下图所示:
模式介绍如下所示:
如果这些数据库未进行模式选择,则默认选择的是第一个模式。
当数据库不存在模式选择,则无需进行模式选择。
模式默认不可编辑,点击「点击连接数据库」且连接成功后可编辑。
4.2 认证方式
其中 APACHE IMPALA、Hadoop Hive、SPARK 、TRANSWARP INCEPTOR、APACHE Phoenix、HBase 这六个数据库在配置数据连接时有 认证方式这一选项。如下图所示:
具体介绍如下所示:
若数据库支持多种认证方式,则点击会出现认证方式下拉框。
若选择「Kerberos」认证,则填入注册过 kdc 的客户端名称和 keytab 密钥路径。
详细 Kerberos 认证请参考 数据连接 Kerberos 认证
4.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. 管理数据连接编辑
5.1 管理范围
在数据决策系统中,点击「管理系统>数据连接>数据连接管理」,点击某一数据库右侧图标,如下图所示:
「数据连接管理」各设置项说明如下表所示:
设置项 | 说明 |
---|---|
测试连接 | 测试数据库配置是否成功 |
编辑 | 修改数据连接配置项 |
重命名 | 重命名该数据库 |
复制 | 复制该条数据库,且数据连接名自动加 1 |
删除 | 删除该数据库 |
数据连接信息 | 显示数据库类型和创建者 |
需要注意以下几点:
未适配的数据库类型右侧不显示图标。
在管理数据连接时,数据连接的名字不能随意改动。更新到本地的表与数据库匹配依靠的是数据连接的名字,如果修改数据连接的名字,从该连接中取出的表将无法再更新。
如果更新本地保存的表中的数据库,例如由开发环境变化到生产环境,表名与表结构均一致时,只需要修改数据连接的 URL 即可。本地保存的表依照数据连接名依然可以更新数据。
5.2 连接池状态
数据连接界面提供连接池状态页面,可看到目前已创建的数据连接及对应的连接状态,如下图所示:
「活动连接数」和「空闲连接数」的说明如下表所示:
连接池状态 | 说明 |
---|---|
活动连接数 | 连接池最大可创建的连接数,若最大连接数是 10 ,程序已申请 10 个连接,而且一直在使用,第 11 个连接申请时报错:active 10 maxActive 10 |
空闲连接数 | 当前处于空闲状态的连接, 随时会转成活动连接, 空闲状态超过最大空闲连接时间时自动释放 活动连接数+空闲连接数=实际物理连接数 |
6. 常见报错编辑
6.1 数据无法预览
问题描述:
BI 连接服务器数据集,数据预览时有报错信息:find fieldinfo failed for table:XXX
原因分析:
数据库表中有重复的字段名,BI 是不支持重复字段名及空值的,如下图所示:
解决方案:
重新修改重复的字段名。