跳到主要内容
版本:7.4.0

自助式对接外部数据库

概述

功能说明

国产数据库正呈现出快速发展的势头,随着国家政策的支持和技术创新的推动,国产数据库在性能、安全性和可靠性等方面取得了显著进步,逐渐赢得了企业和政府部门的青睐。因此,观远推出自助式外部数据库接入方式,支持对接 BI 标准支持数据库范围外的云厂商、国产化等各类数据库以快速支撑售前客户的新型数据库 POC 以及服务中客户的国产数据库接入场景,提高了数据接入的灵活性,缩短数据库接入的时间等待周期。

前提条件

在进行外部数据库接入配置之前,请收集以下信息:

  • 驱动 Jar 包及可用的 Driver Class;
  • 接入数据库的方言标准,表列表获取方式和方言数据库是否相同;
  • 数据库所在服务器的 IP 地址和端口号;
  • 数据库的名称;
  • 数据库的用户名和密码;
  • 需支持以 JDBC 的方式进行连接。

使用指导

操作步骤

  1. 进入 管理员设置 > 资源管理 > 驱动和连接器管理 页面;
  2. 点击 驱动管理 > 新增驱动 按钮,开始新建和配置驱动;
  3. 驱动配置完成后,点击 数据库连接器管理 > 新建数据库连接器 按钮,开始新建和配置数据库连接器;
  4. 驱动和连接建立完成后,进入 数据准备 > 数据账户 >  新建数据账户 页面,创建数据账户;
  5. 前往数据准备页面进行数据库接入,可按照标准数据库的方式接入外部数据库。

新建配置驱动

功能入口:管理员设置 > 资源管理 > 驱动和连接器管理。

  1. 点击「驱动管理  >  新增驱动」按钮,编辑驱动名称,点击「保存」即可完成新建驱动。

    1.png

  2. 点击刚才新建的驱动,上传驱动 Jar 包及可用的 Driver Class,点击「应用」即可完成驱动配置。

    2.png

新建配置数据库连接

点击 数据库连接器管理 > 新建数据库连接器 ,开始新建数据连接器,如下图所示:

3.png

  • 参数 1: 显示 ICON,设置自定义数据连接的图片 ICON,用于在数据账户以及数据库数据集新建环节的展示。
  • 参数 2: 连接器名称,按照用户习惯自行定义,不支持特殊字符。
  • 参数 3: 默认方言支持,目前开放支持的方言有 MySQL、Oracle、POSTGRES,已经验证支持的数据库如下:
方言已验证支持的数据库
MySQLOceanBase(MySQL)、Azure DataBricks、云器LakeHouse、ByteHouse
Oracle人大金仓KES、Oceanbase(Oracle)、Aloudata Air Engine
POSTGRESGaussDB(DWS)、Aws Athena、CnosDB
  • 参数 4: 获取表列表 SQL,不同数据库在表列表获取逻辑上和方言数据库会出现不一致的情况,该功能支持用户按照对应的数据库自定义获取逻辑,指定表列表获取的 SQL 以及返回结果集中表名所在列的 index,已验证的数据库参考如下:

数据库

驱动下载地址

表列表获取 SQL

1

人大金仓 KES

官网kingbaseES下载中心

注:在官网 kingbaseES下载中心中选择 kingbaseES,根据数据库部署对应机器架构选择下载相应 JDBC 驱动

{"sql": "SHOW TABLES from ||database||", "tableNameIdx": 1}

2

Azure DataBircks

官方下载地址

{"sql": "SHOW TABLES", "tableNameIdx": 2} 会默认查询名为default schema下的表

3

{"sql": "SHOW TABLES IN ||schema||", "tableNamfeIdx": 2},需要在创建账号时候有额外表单项schema,查询指定 schema 下表

4

云器LakeHouse

官方下载地址

若 JDBC URL 中指定了schema(例如:schema=public),则语句为:{"sql":"SHOW TABLES", "tableNameIdx": 2}

5

如果没有指定,则为:{"sql": "SHOW TABLES IN ||schema||", "tableNameIdx": 2},并在创建账号时候有额外表单项schema

6

OceanBase(MySQL)

官方下载地址

注:根据 CPU 架构选择下载

{"sql": "SHOW TABLES", "tableNameIdx": 1}

7

OceanBase(Oracle)

官方下载地址

注:根据 CPU 架构选择下载

{"sql": "SHOW TABLES from ||database||", "tableNameIdx": 1}

8

Aloudata Air Engine

联系官方支持获取

{"sql": "SHOW TABLES IN ||schema||", "tableNameIdx": 1}

9

CnosDB

联系官方支持获取

{"sql": "SHOW TABLES", "tableNameIdx": 2, "withSchemaPrepend": true, "schemaOrDatabaseNameIdx": 1}

10

GaussDB-DWS

联系官方支持获取

{"sql": "SHOW TABLES from ||database||", "tableNameIdx": 1}

11

Aws-Athena

官方下载地址

{"sql": "select \"table_name\" from \"information_schema\".\"tables\" where (lower(cast(\"table_catalog\" as varchar)) = ||catalog|| and lower(cast(\"table_schema\" as varchar)) = ||database||) order by \"TABLE_NAME\"", "tableNameIdx": 1}

12

ByteHouse云数仓

官方下载地址

注:官方驱动 github 仓库有直接下载链接

{"sql": "SHOW TABLES from ||database||", "tableNameIdx": 1}

注意:ByteHouse 企业版不能使用云数仓接入,可以直接使用ClickHouse 连接接入。

说明

若表列表获取SQL 中指定了||schema||参数后,在创建数据账户时候动态展示 schema 选项,由用户输入。

4.png|450

  • 参数 5: 用户名密码显示开关,例如 Azure DataBricks 的认证方式中用户名/密码是包含在 URL 中,不支持传统的传参方式,可以通过开关控制是否显示。

5.png|450

创建数据账户

驱动和连接建立完成后,在数据准备 > 数据账户 >  新建数据账户页面可以选择对应的连接以及驱动映射关系,完成数据账户的创建。

对于自定义账户,考虑到非 JDBC URL方式下的参数差异化,当前仅支持 JDBC URL 的连接方式。

6.png

接入外部数据库

前往数据准备页面进行数据库接入,可按照标准数据库的方式接入外部数据库。详见标准数据库连接指南