跳到主要内容
版本:8.1.0

自助式对接外部数据库

概述

自助式对接外部数据库是观远数据推出的一项功能,支持对接BI 标准数据库范围外的云厂商、国产化等各类数据库,以快速支撑售前客户的新型数据库 POC 以及服务中客户的国产数据库接入场景。该功能提高了数据接入的灵活性,缩短了数据库接入的时间等待周期。

前提条件

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

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

操作步骤

配置驱动

  1. 进入「管理中心 > 系统设置 > 通用设置 > 驱动与连接器」页面。

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

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

配置数据库连接器

  1. 在「驱动和连接器管理」页面,点击「数据库连接器管理 > 新建数据库连接器」按钮,开始新建和配置数据库连接器。

  2. 配置连接器参数

    |400

配置项说明
显示 ICON设置自定义数据连接的图片 ICON,用于在数据账户以及数据库数据集新建环节的展示
连接器名称按照用户习惯自行定义,不支持特殊字符
默认方言支持目前开放支持的方言有 MySQL、Oracle、POSTGRES,已验证支持的数据库可参考方言支持情况
获取表列表 SQL不同数据库在表列表获取逻辑上和方言数据库会出现不一致的情况,该功能支持用户按照对应的数据库自定义获取逻辑,指定表列表获取的 SQL 以及返回结果集中表名所在列的 index,已验证支持的数据库可参考表列表获取 SQL

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

获取表注释用于配置查询数据库中所有表的注释的 SQL 语句。
获取字段注释用于配置查询表中所有字段(列)的注释的 SQL 语句。
用户名密码显示开关用户名密码显示开关,例如 Azure DataBricks 的认证方式中用户名/密码是包含在 URL 中,不支持传统的传参。

|450
默认驱动选择默认的JDBC 驱动。
连接可用测试SQL用于配置验证数据库连接是否有效的测试查询语句。

创建数据账户

  1. 驱动和连接建立完成后,进入「数据准备 > 数据账户 」页面,点击「新建数据账户」。

  2. 在「选择连接器」界面点击刚建好的连接器。

  3. 填写数据库的「用户名」、「密码」、「JDBC URL」和「自定义驱动」。对于自定义账户,考虑到非 JDBC URL 方式下的参数差异化,当前仅支持 JDBC URL 的连接方式。

接入数据库

前往「数据准备 > 数据集」页面点击「新建数据集 > 数据库按钮」进行数据库接入,可按照 标准数据库连接指南 接入外部数据库。

已验证支持的数据库

方言支持情况

方言已验证支持的数据库
MySQLOceanBase(MySQL)、Azure DataBricks、云器 LakeHouse、ByteHouse
Oracle人大金仓 KES、OceanBase(Oracle)、Aloudata Air Engine
POSTGRESGaussDB(DWS)、AWS Athena、CnosDB

表列表获取 SQL

数据库驱动下载地址表列表获取 SQL
1电科金仓 KES官网kingbaseES下载中心

注:在官网 kingbaseES 下载中心中选择 kingbaseES,根据数据库部署对应机器架构选择下载相应 JDBC 驱动
{"sql": "SHOW TABLES from |database|", "tableNameIdx": 1}
2Azure 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
6OceanBase(MySQL)官方下载地址

注:根据 CPU 架构选择下载
{"sql": "SHOW TABLES", "tableNameIdx": 1}
7OceanBase(Oracle)官方下载地址

注:根据 CPU 架构选择下载
{"sql": "SHOW TABLES from |database|", "tableNameIdx": 1}
8Aloudata Air Engine联系官方支持获取{"sql": "SHOW TABLES IN |schema|", "tableNameIdx": 1}
9CnosDB联系官方支持获取{"sql": "SHOW TABLES", "tableNameIdx": 2, "withSchemaPrepend": true, "schemaOrDatabaseNameIdx": 1}
10GaussDB-DWS联系官方支持获取{"sql": "SHOW TABLES from |database|", "tableNameIdx": 1}
11Aws-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}
12ByteHouse 云数仓官方下载地址

注:官方驱动 github 仓库有直接下载链接
{"sql": "SHOW TABLES from |database|", "tableNameIdx": 1}

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

术语表

  • 自助式对接:用户通过配置驱动和连接器,自行完成外部数据库的接入
  • 驱动 Jar 包:数据库厂商提供的 Java 驱动文件,用于建立与数据库的连接
  • Driver Class:驱动包中用于初始化数据库连接的类名
  • 数据库连接器:观远 BI 中用于连接特定类型数据库的配置
  • 方言:数据库支持的 SQL 语法标准,如 MySQL、Oracle、POSTGRES 等
  • 表列表获取 SQL:用于获取数据库中表列表的 SQL 语句
  • JDBC:Java Database Connectivity,Java 数据库连接标准
  • POC:Proof of Concept,概念验证,用于验证技术方案的可行性
  • ByteHouse:字节跳动推出的云原生数据仓库
  • OceanBase:阿里巴巴推出的分布式关系型数据库
  • 电科金仓 KES:国产数据库,由中电科金仓公司开发
  • GaussDB(DWS):华为推出的分布式数据仓库服务
  • AWS Athena:亚马逊云提供的交互式查询服务
  • CnosDB:国产时序数据库
  • Aloudata Air Engine:国产数据仓库
  • Azure DataBricks:微软 Azure 云提供的大数据分析服务
  • 云器 LakeHouse:云原生数据湖仓服务