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

前提条件

  • 了解FineBI与AnalyticDB MySQL版之间的兼容性,请参见兼容性概览
  • 安装MySQL JDBC驱动。
  • 安装FineBI 5.0及以上版本。需要下载支持实时数据的版本(实时数据版本支持直联AnalyticDB MySQL版引擎)。更多详情,请参见实时数据(直连)
  • 如果您是第一次安装FineBI,需要安装MySQL服务器(例如阿里云RDS MySQL),用于导入FineBI的元数据,更多详情,请参见MySQL数据连接
  • 如果您需要通过外网连接AnalyticDB MySQL版集群,请申请和释放公网地址

配置外接数据库MySQL

说明 如果在此之前您已经安装并使用过FineBI,则可跳过如下步骤直接连接AnalyticDB MySQL版集群。详细步骤,请参见连接AnalyticDB
  1. 打开FineBI。
  2. 单击服务器地址,按照系统提示进行账号设置
    设置服务器地址设置服务器地址
  3. 单击下一步,选择数据库,单击外部数据库中的配置数据库
    配置数据库
  4. 外接数据库配置页面,按照页面提示进行参数配置。
    说明 此处应填写MySQL数据库的连接信息,而不是AnalyticDB 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 MySQL版数据库的连接信息。
    3
    参数 说明
    数据连接名 为数据库连接取一个名字,便于后续管理。
    驱动器 选择com.mysql.jdbc.Driver
    数据库名称 AnalyticDB MySQL版中的数据库名称。
    主机 AnalyticDB MySQL版集群的外网地址或者VPC地址。

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

    端口 端口号,默认为3306。
    用户名 AnalyticDB MySQL版集群中创建的账号:
    • 高权限账号。
    • 普通账号。
    密码 用户名对应的密码。
  3. 完成上述参数配置后,单击测试连接进行连通性测试,系统提示测试成功后,单击页面右上角的保存即可。

添加表

  1. 单击左侧导航栏中的数据准备 > 实时数据 > 业务包 > 添加表,选择之前配置的AnalyticDB MySQL版链接,选择表的种类,将数据集添加进数据决策系统,进行后续的数据分析和仪表板展示。
    • 数据库表:即直接添加AnalyticDB MySQL版中的表。
    • SQL数据集:通过执行SQL生成需要分析的数据集。
    • 自助数据集:可以在数据库表或SQL数据集的基础上进行添加自助数据集等数据加工操作。
  2. 选择基表字段后,进行过滤、分组汇总、新增列、合并等操作。
    2021040604

示例

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

  1. 下载集团商品销售总表示例数据。
  2. AnalyticDB MySQL版中建表。
    1. 选择数据分布均匀的一列做为分布键,数据类型为时间的一列做为分区键。更多详情,请参见表结构设计
    2. 观察集团商品销售总表中的几列数据,按单据编号分布较随机,且购物篮分析中,会用到单据编号做JOIN,因此用单据编号做分区键;用日期做二级分区,由于不再导入数据,在这里选择lifecycle为100。
    3. 建表语句如下:
      Create Table `demo_sales` (
       `日期` date,
       `城市` varchar,
       `单据编号` varchar,
       `门店名称` varchar,
       `商品类别` varchar,
       `商品名称` varchar,
       `省份` varchar,
       `成本额` double,
       `毛利额` double,
       `数量` bigint,
       `销售额` double
      ) DISTRIBUTE BY HASH(`单据编号`) 
      PARTITION BY VALUE(`日期`) LIFECYCLE 100 
      INDEX_ALL='Y' STORAGE_POLICY='COLD' COMMENT='集团商品销售总表'
  3. 建好表后,通过kettle把下载到本地的Excel导入AnalyticDB MySQL版
    1. kettle使用文档请参见使用Kettle将本地数据同步至AnalyticDB MySQL
    2. 导入完成后,执行select count(*) from demo_sales,可以看到有40514条数据。
  4. 在FineBI中创建自助数据集。
    1. 在导航栏中选择数据准备 > 实时数据,先添加一个业务包命名为adb
    2. 在业务包下新建自助数据集,并在选字段时选中AnalyticDB连接_demo_sales,即AnalyticDB MySQL版demo_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 MySQL版

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

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

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

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

  6. 更新数据后没有结果

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

  7. 预览数据或保存数据失败
    处理方法
    1. 先检查是否因为列上带了函数,但列和函数类型不符且转换为函数支持的类型后可能带有非法值。例如,ADS(城市)会报错,因为ADS是求数值类型字段的绝对值,单输入列“城市”为中文字符串,转为数值产生非法值。
    2. 如果详细信息中包含一串数字,如下图所示,大概率是AnalyticDB MySQL版中的报错,可以提供这串数字,即processid给AnalyticDB MySQL版技术支持进行进一步排查。2021040702
    3. 若详细信息中仅包含一列错误代码则为FineBI的报错,处理方法请参见FineBI文档BI使用问题汇总2021040703