
# 配置Superset连接DLI进行数据查询和分析
Superset是一个开源的数据探索和可视化平台，支持对数据进行快速、直观的探索，同时支持创建丰富的数据可视化和交互式仪表板。
通过将Superset与DLI对接，用户可以访问DLI进行数据查询和分析,简化了数据访问流程，提供了数据的统一管理和分析能力，使得用户能够更深入地洞察数据。
本节操作介绍Superset连接DLI服务的操作步骤。
#### 操作前准备
- **获取Superset安装包**
  获取Superset安装包：[安装Superset](https://superset.apache.org/docs/installation/pypi)。
  安装Superset的操作指导：[Superset官网](https://superset.apache.org/docs/installation/pypi)。
  

- **获取DLI的JDBC驱动**
  单击[dli-sdk-python](https://uquery-sdk.obs-website.cn-north-1.myhuaweicloud.com)获取驱动安装包。
  
- **准备连接信息**
  表1连接信息 
  | 类别             | 说明                                | 获取方式                                                                                   |
  |:---|:---|:---|
  | DLI AKSK       | AK/SK认证就是使用AK/SK对请求进行签名，从而通过身份认证。 | [获取AK/SK](https://support.huaweicloud.com/devg-apisign/api-sign-provide-aksk.html)     |
  | DLI Endpoint地址 | 地区与终端节点，即云服务在不同Region有不同的访问域名。    | [获取EndPoint](https://support.huaweicloud.com/devg-apisign/api-sign-provide-start.html) |
  | DLI所在的项目ID     | 项目编号，用于资源隔离。                      | [获取项目ID](https://support.huaweicloud.com/api-dli/dli_02_0183.html)                     |
  | DLI区域信息        | DLI所属区域信息                         | [地区和终端节点](https://console.huaweicloud.com/apiexplorer/#/endpoint)                      |
     
  
 
#### 步骤1：安装SuperSet并配置数据连接驱动
1. 下载并安装SuperSet。 
   详细安装操作指导请参考[安装Superset](https://superset.apache.org/docs/installation/pypi)
   以**Docker安装Superset**为例：
   1. 安装Docker，确保当前主机系统上安装了Docker。
   
   2. 拉取Superset Docker镜像：
      ```
      docker pull apache/superset
      ```
      
   
   3. 启动Superset容器：
      ```
      docker run -p 8088:8088 apache/superset
      ```
      启动Superset容器，并将容器的8088端口映射到宿主机的8088端口。
      
   
   4. 访问Superset： 在浏览器中访问http://IP:8088 (IP为superset部署的机器)，使用在安装Superset时设置的用户名和密码登录Superset。
      
   
   
   
   
2. 在Superset中安装和配置DLI驱动以连接数据库。 
   驱动需要放置在Superset的类路径中，例如superset-classpath目录。
   解压安装包后，在Superset客户端中安装DLI驱动。
   执行**Python setup.py install**，把dli-sdk-python安装到本地环境。
   图1在SuperSet客户端中安装JDBC驱动   
   ![](https://support.huaweicloud.com/bestpractice-dli/zh-cn_image_0000002217272917.png "点击放大")
   
   
3. 完成驱动安装和配置后，需要重启Superset服务以确保安装的驱动生效。
 
#### 步骤3：配置SuperSet连接DLI
在Superset中，通过以下步骤添加新的数据库连接。
1. 打开并登录Superset。
2. 单击"Settings \> Database Connections"，单击" +DATABASE"。
   图2SuperSet配置数据连接-单击Settings   
   ![](https://support.huaweicloud.com/bestpractice-dli/zh-cn_image_0000002182032850.png "点击放大")
   图3SuperSet配置数据连接-单击DATABASE   
   ![](https://support.huaweicloud.com/bestpractice-dli/zh-cn_image_0000002217292853.png "点击放大") 
3. 在弹出的Database窗口中，SUPPORTED DATABASES选择DLI。
   图4SuperSet配置数据连接-选择DLI驱动   
   ![](https://support.huaweicloud.com/bestpractice-dli/zh-cn_image_0000002182033198.png) 
4. 配置数据连接的信息。
   - DISPLAY NAME：自定义数据连接名称。
   
   - SQL ALCHEMY URI：配置数据连接的URL。 数据连接URL的格式：
     dli://\<accesskey_id\>:\<accesskey_secret\>@\<region_id\>/?projectid=\<project_id\>\&queuename=\<dli_queue_name\>\&databasename=\<dli_default_database_name\>\&enginetype=\<engine_type\>\&catalog=\< lakeformation_catalog_name\>
     表2Superset连接DLI参数说明 
     | 参数                            | 是否必选 | 说明                                                                                                                                                                                                                                                                                                                                                                                                                | 配置样例                                                           |
     |:---|:---|:---|:---|
     | accesskey_id和accesskey_secret | 是    | AK/SK认证密钥。                                                                                                                                                                                                                                                                                                                                                                                                        | -                                                              |
     | region_id                     | 是    | DLI的区域名称和服务名称。                                                                                                                                                                                                                                                                                                                                                                                                    | ap-southeast-2                                                 |
     | projectid                     | 是    | DLI资源所在的项目ID。 [获取项目ID](https://support.huaweicloud.com/devg-apisign/api-sign-provide-start.html)                                                                                                                                                                                                                                                                                      | 0b33ea2a7e0010802fe4c009bb05076d                               |
     | queuename                     | 是    | DLI服务的队列名称。                                                                                                                                                                                                                                                                                                                                                                                                       | dli_test                                                       |
     | databasename                  | 是    | 默认访问的数据库。                                                                                                                                                                                                                                                                                                                                                                                                         | dli                                                            |
     | enginetype                    | 否    | DLI的队列类型。 spark：代表Spark引擎的队列。 默认配置为spark。                                                                                                                                                                                                                                                                                                              | spark                                                          |
     | catalog                       | 否    | 元数据catalog名称。 - 使用Lakeformation catalog时必填，对应的Lakeformation catalog名称。 查询Lakeformation catalog时， catalog下面必须有 default数据库。   - 不填写时默认DLI catalog，使用DLI catalog时无需配置该参数。   | 假设使用名称为lfcatalog的Lakeformation catalog时，配置如下：catalog=lfcatalog |
        
     图5SuperSet配置数据连接-配置URL连接信息   
     ![](https://support.huaweicloud.com/bestpractice-dli/zh-cn_image_0000002217247273.png) 
    
5. 填写完连接信息后，单击"TEST connection"测试数据源连接是否成功，提示"**Connection looks good!**"代表可以连接成功。
6. 如果测试连接成功，单击CONNECT建立与DLI的数据连接。
7. 单击"OK"保存连接。
 
#### 步骤3：使用Superset查询及分析数据
1. **查看表信息**
   
   在Superset界面的顶部菜单DataSet, 在右侧单击+DATASET，选择数据连接 \>数据库 \>表，即可预览表信息。
   图6在Superset预览表信息   
   ![](https://support.huaweicloud.com/bestpractice-dli/zh-cn_image_0000002224640129.png "点击放大")
   
   
2. **创建Dataset**
   
   单击右下角CREATE DATASET AND CREATE CHART。
   图7CREATE DATASET AND CREATE CHART   
   ![](https://support.huaweicloud.com/bestpractice-dli/zh-cn_image_0000002210753589.png "点击放大")
   
   
3. **可视化分析数据**
   
   在Dataset界面选中目标表，并配置图标类型+维度，即可展示数据业务分析图。
   图8SuperSet可视化分析数据   
   ![](https://support.huaweicloud.com/bestpractice-dli/zh-cn_image_0000002175233178.png "点击放大")
   
   
 
