Python+Superset:商业智能数据分析与实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

4.2 连接关系型数据库

在连接数据源之前,必须先安装相应数据源的驱动程序,否则可能导致Apache Superset不能正常连接,本节将以MySQL数据库服务器为例进行阐述。

4.2.1 安装驱动程序

在连接MySQL数据库之前,需要使用pip工具安装数据库驱动,代码如下。

如果出现“Successfully installed MySQLclient”的提示信息,则说明MySQL数据库的驱动程序已经正常安装。其他数据源及其驱动程序如表4-1所示。

表4-1 数据源及其驱动程序

4.2.2 配置连接参数

在Apache Superset界面中,依次单击顶部导航菜单中的“Data”→“Databases”选项,如图4-7所示。

图4-7 “Databases”选项

进入数据库列表页面,默认已经有一个“examples”数据库,单击页面右上角的“DATABASE”按钮,如图4-8所示。

图4-8 “DATABASE”按钮

进入添加数据库(Add Database)的表单“BASIC”页面,这里必须填写两项:DATABASE NAME和SQLALCHEMY URI,如图4-9所示。

图4-9 “BASIC”页面

在DISPLAY NAME中输入MySQL数据库的名称,在SQLALCHEMY URI中输入连接的URI,这个需要根据自己的实际情况填写,包括数据库的用户名和密码,服务器地址,以及是否需要支持中文编码等,如图4-10所示。

图4-10 输入配置信息

单击“TEST CONNECTION”按钮,可以测试是否成功连接,在计算机界面的右下角,会弹出连接成功的提示信息,如图4-11所示。

图4-11 连接成功提示信息

数据源连接除了基本参数以外,还有一些复杂的高级参数,包括:SQL Lab、Performance、Security和Other等,具体见“ADVANCED”页面。

如果后续还需要在SQL Lab中查询数据并进行数据可视化分析,就要单击“SQL Lab”设置页中的“Expose in SQL Lab”选项,如图4-12所示。

图4-12 “SQL Lab”设置页面

在“Performance”设置页中,需要根据实际情况进行设置,如果使用SQL Lab查询数据,那么我们需要使用同步查询,异步查询“Asynchronous query execution”选项不能勾选,否则SQL Lab无法正常显示数据,如图4-13所示。

图4-13 “Performance”设置页面

如果需要向数据库中上传本地离线数据,还需要在“Other”设置页中勾选“Allow data upload”选项,如图4-14所示。

图4-14 上传本地数据

单击“ADD”按钮,这样MySQL数据源就添加成功了,如图4-15所示。

图4-15 添加成功结果

4.2.3 添加数据库表

至此,我们已经配置好了数据库,接下来需要向Apache Superset中添加想要查询的特定表,如客户表(customers),具体操作步骤如下。

首先,依次单击顶部导航菜单中的“Data”→“Datasets”选项,如图4-16所示。

图4-16 “Datasets”选项

然后,在数据表的详细列表页面,单击右上角的“DATASET”按钮,如图4-17所示。

图4-17 “DATASET”按钮

进入添加数据表的表单页面,在该页面依次填写目标数据库(DATASOURCE)、数据库模式(SCHEMA)、数据表名称(TABLE),如图4-18所示。

图4-18 添加数据表的表单页面

再单击下方的“ADD”按钮,即可完成客户信息表的添加,如图4-19所示。

图4-19 “ADD”按钮

若成功添加,在计算机页面的右下角,会弹出添加成功的提示信息,如图4-20所示。

图4-20 添加成功提示信息

创建完成后,将重新定向返回到列表页,还可以对已添加的数据表进行编辑,如图4-21所示。

图4-21 列表页

最后,单击编辑图标,进入表的编辑页面,我们可以对数据表的详细信息、指标、字段等进行详细配置,如图4-22所示。

图4-22 表的编辑页面