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

前提条件

配置外接数据库MySQL

  1. 打开FineBI。
  2. 单击服务器地址,按照系统提示进行账号设置
    说明 如果在此之前您已经安装并使用过FineBI,则可直接从连接AnalyticDB开始。
    设置服务器地址设置服务器地址
  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版数据库的连接信息。
    填写数据库连接参数
    参数 说明
    数据连接名 为数据库连接取一个名字,便于后续管理。
    驱动 选择com.mysql.jdbc.Driver
    数据库名称 AnalyticDB MySQL版中的数据库名称。
    主机 AnalyticDB MySQL版集群的外网地址或者VPC地址,通过控制台“”集群信息“”页面,查看连接地址。
    端口 3306
    用户名 AnalyticDB MySQL版集群中创建的账号:
    • 高权限账号。
    • 普通账号。
    密码 用户名对应的密码。
  3. 完成上述参数配置后,单击测试连接进行连通性测试,系统提示测试成功后,单击页面右上角的保存
    至此,您已在FineBI中成功连接AnalyticDB MySQL版数据库。

添加表

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

示例

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

20210407
  1. 下载demo数据[集团商品销售总表]。
  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 for MySQL
    2. 导入完成后,执行select count(*) from demo_sales,可以看到有40514条数据。
  4. 在FineBI中创建自助数据集。
    1. 在导航栏中选择数据准备 > 实时数据,先添加一个业务包命名为adb。
    2. 在业务包下新建自助数据集,并在选字段时选中“AnalyticDB连接_demo_sales”,即AnalyticDB MySQL版中“demo_sales”这张表的全部字段。
  5. 参考FineBI中的实例文档一步步添加数据,并最终生成仪表盘https://help.fanruan.com/finebi/doc-view-1195.html

常见问题

  1. 初始化时没有选择外接数据库,初始化后想配置外接数据库
    处理方法
    1. 进入数据决策系统,单击管理系统 > 系统管理,在常规页签,单击待配置
    2. 输入实际数据库相应的信息,配置外接数据库。
    3. 配置完成后,单击启用新数据库
  2. 配置外接mysql数据库,导入数据失败
    处理方法
    1. 检查版本号和编码方式,具体操作请参见 https://help.fanruan.com/finebi/doc-view-437.html,目前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技术支持获取对应版本 https://help.fanruan.com/finebi/doc-view-1116.html

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

    处理方法:请参见实时数据中的“3.2 数据库与BI数据不同步”进行处理。

  6. 更新数据后没有结果

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

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