全部产品
Search
文档中心

云原生数据仓库AnalyticDB:FineBI

更新时间:Nov 05, 2024

您可以通过FineBI连接云原生数据仓库 AnalyticDB MySQL 版, 以可视化的形式帮助您进行多样数据管理,例如过滤、分组汇总、新增列、字段设置、排序等,极大的提升了数据整合的便利性和效率。

前提条件

  • 了解FineBI与AnalyticDB for MySQL之间的兼容性,请参见兼容性概览

  • 安装MySQL JDBC驱动。

  • 安装FineBI 5.0及以上版本。需要下载支持实时数据的版本(实时数据版本支持直联AnalyticDB for MySQL引擎)。更多详情,请参见实时数据(直连)

  • 如果您是第一次安装FineBI,需要安装MySQL服务器(例如阿里云RDS MySQL),用于导入FineBI的元数据,更多详情,请参见MySQL数据连接

  • 如果您需要通过外网连接AnalyticDB for MySQL集群,请申请和释放公网地址

配置外接数据库MySQL

说明

如果在此之前您已经安装并使用过FineBI,则可跳过如下步骤直接连接AnalyticDB for MySQL集群。详细步骤,请参见连接AnalyticDB

  1. 打开FineBI。

  2. 单击服务器地址,按照系统提示进行账号设置

  3. 单击下一步,选择数据库,单击外部数据库中的配置数据库

  4. 外接数据库配置页面,按照页面提示进行参数配置。

    说明

    此处应填写MySQL数据库的连接信息,而不是AnalyticDB for MySQL数据库连接信息。

    参数

    说明

    数据库类型

    选择MySQL

    驱动

    选择com.mysql.jdbc.Driver

    数据库名称

    设置被导入FineBI元数据的数据库名。也可以新建一个数据库,例如finedb,FineBI连接MySQL服务器后自动执行create database finedb;

    主机

    MySQL服务器地址,可以是本机或者远程服务器地址。

    端口

    MySQL的端口号,通常为3306。

    用户名

    在MySQL服务器中创建的用户名。

    密码

    用户名对应的密码。

    数据库连接URL

    系统自动生成连接URL。

  5. 完成上述参数配置后,单击启用新数据库,开始导入FineBI元数据。

  6. FineBI元数据导入成功后,单击登录,登录至MySQL服务器。

连接AnalyticDB

  1. 打开FineBI,单击左侧导航栏中的管理系统 > 数据连接 > 数据连接管理 > 新建数据库连接 > 所有 > 阿里云AnalyticDB

    2021040601

  2. 在数据库连接页面,填写AnalyticDB for MySQL数据库的连接信息。

    3

    参数

    说明

    数据连接名

    为数据库连接取一个名字,便于后续管理。

    驱动器

    选择com.mysql.jdbc.Driver

    数据库名称

    AnalyticDB for MySQL中的数据库名称。

    主机

    AnalyticDB for MySQL集群的外网地址或者VPC地址。

    您可以在集群信息网络信息区域查看连接地址和端口信息,详情请参见连接地址

    端口

    端口号,默认为3306。

    用户名

    AnalyticDB for MySQL集群中创建的账号:

    • 高权限账号。

    • 普通账号。

    密码

    用户名对应的密码。

  3. 完成上述参数配置后,单击测试连接进行连通性测试,系统提示测试成功后,单击页面右上角的保存即可。

添加表

  1. 单击左侧导航栏中的数据准备 > 实时数据 > 业务包 > 添加表,选择之前配置的AnalyticDB for MySQL链接,选择表的种类,将数据集添加进数据决策系统,进行后续的数据分析和仪表板展示。

    • 数据库表:即直接添加AnalyticDB for MySQL中的表。

    • SQL数据集:通过执行SQL生成需要分析的数据集。

    • 自助数据集:可以在数据库表或SQL数据集的基础上进行添加自助数据集等数据加工操作。

  2. 选择基表字段后,进行过滤、分组汇总、新增列、合并等操作。

    2021040604

示例

通过研究用户消费数据,将不同商品之间进行关联,并挖掘二者之间联系的分析方法,称为购物篮分析。本示例将演示如何从建表、导数据开始,通过AnalyticDB for MySQL使用FineBI制作购物篮分析仪表盘。

  1. 下载集团商品销售总表示例数据。

  2. AnalyticDB for MySQL中建表。

    1. 选择数据分布均匀的一列做为分布键,数据类型为时间的一列做为分区键。更多详情,请参见表结构设计

    2. 观察集团商品销售总表中的几列数据,按单据编号分布较随机,且购物篮分析中,会用到单据编号做JOIN,因此用单据编号做分区键;用日期做二级分区,由于不再导入数据,在这里选择lifecycle为100。

    3. 建表语句如下:

      Create Table `demo_sales` (
       `日期` date,
       `城市` varchar,
       `单据编号` varchar,
       `门店名称` varchar,
       `商品类别` varchar,
       `商品名称` varchar,
       `省份` varchar,
       `成本额` double,
       `毛利额` double,
       `数量` bigint,
       `销售额` double
      ) DISTRIBUTED BY HASH(`单据编号`) 
      PARTITION BY VALUE(`日期`) LIFECYCLE 100 
      INDEX_ALL='Y' STORAGE_POLICY='COLD' COMMENT='集团商品销售总表'
  3. 建好表后,通过kettle把下载到本地的Excel导入AnalyticDB for MySQL

    1. kettle使用文档请参见通过Kettle导入至数仓版

    2. 导入完成后,执行select count(*) from demo_sales,可以看到有40514条数据。

  4. 在FineBI中创建自助数据集。

    1. 在导航栏中选择数据准备 > 实时数据,先添加一个业务包命名为adb

    2. 在业务包下新建自助数据集,并在选字段时选中AnalyticDB连接_demo_sales,即AnalyticDB for MySQLdemo_sales这张表的全部字段。

  5. 参考FineBI中的文档添加数据,并最终生成仪表盘。更多详情,请参见购物篮分析

常见问题

  1. 初始化时没有选择外接数据库,初始化后想配置外接数据库

    处理方法

    1. 进入数据决策系统,单击管理系统 > 系统管理,在常规页签,单击待配置

    2. 输入实际数据库相应的信息,配置外接数据库。

    3. 配置完成后,单击启用新数据库

  2. 配置外接MySQL数据库,导入数据失败

    处理方法

    1. 检查版本号和编码方式。具体操作,请参见 配置外接数据库,目前FineBI支持MySQL 5.x版本。

    2. 检查外接MySQL数据库是否使用utf8(– UTF-8 Unicode)编码为字符集排列规则,或新建一个utf8编码的数据库create database finedb character set utf8

  3. 配置外接数据库为AnalyticDB,连接失败

    处理方法:外界数据库需要配置本地MySQL,而不是AnalyticDB for MySQL

  4. 数据准备标签下没有抽取数据和实时数据的选项

    处理方法:FineBI官网提供的版本不包含直连引擎,需要联系FineBI技术支持获取对应版本。更多详情,请参见 处理方法

  5. 数据库与BI数据不同步

    处理方法:更多详情,请参见数据库与 BI 数据不同步

  6. 更新数据后没有结果

    处理方法:单行没有结果可能是该行的计算结果为null;若整列没有结果,如果是列上有函数,可能是该函数在AnalyticDB for MySQL中不兼容,请联系AnalyticDB for MySQL技术支持确认。

  7. 预览数据或保存数据失败

    处理方法

    1. 先检查是否因为列上带了函数,但列和函数类型不符且转换为函数支持的类型后可能带有非法值。例如,ADS(城市)会报错,因为ADS是求数值类型字段的绝对值,单输入列“城市”为中文字符串,转为数值产生非法值。

    2. 如果详细信息中包含一串数字,如下图所示,大概率是AnalyticDB for MySQL中的报错,可以提供这串数字,即processid给AnalyticDB for MySQL技术支持进行进一步排查。2021040702

    3. 若详细信息中仅包含一列错误代码则为FineBI的报错,处理方法请参见FineBI文档BI使用问题汇总