You need to enable JavaScript to run this app.
导航
ByteHouse CDW 多环境指南
最近更新时间:2025.05.30 19:20:18首次发布时间:2025.05.30 19:20:18
我的收藏
有用
有用
无用
无用

DataLeap 数据开发套件支持为开发环境与生产环境的 ByteHouse 云数仓版(ByteHouse CDW)集群服务配置多环境引擎实例映射关系,来实现在同一个 DataLeap 项目中,使用一套任务配置对 ByteHouse 不同环境下的数据集成、开发环境任务和生产环境任务等进行管理。本文将为您介绍如何在 DataLeap 平台操作 ByteHouse CDW 引擎的多环境引擎实例。

使用限制

  • 需开通 DataLeap 服务版本中 DataOps敏捷研发分布式数据自治的服务,项目方可使用多环境模式。详见版本服务说明
  • 多环境映射能力当前处于白名单阶段,如需使用,您可通过提工单的方式,请联系我们进行开通使用。
  • 租户主账号或具备 DataLeapFullAccess 权限的 IAM 子账号才可创建 DataLeap 项目,且仅创建项目时选择的开发模式多环境模式的项目才支持环境映射配置。关于子账号的权限详细说明请参见权限介绍
  • 环境映射-元数据映射能力,ByteHouse 云数仓版引擎尚不支持元数据库信息映射配置。

使用前提

  1. 服务开通:
    1. 已开通 DataLeap 服务。详见DataLeap 服务开通
    2. 已开通 ByteHouse 云数仓版服务,并创建开发、生产集群实例及对应的计算组。详见快速开始环境管理
  2. ByteHouse 云数仓版服务的开发、生产集群环境下,已创建相应的数据库、数据表等资源,建议同名。详见 ByteHouse 数据管理
  3. 子用户操作 ByteHouse CDW SQL 任务时,需确保已被授予 ByteHouseReadOnlyAccess 系统策略及相应的库表、计算组等资源使用权限。详见 ByteHouse 用户与权限管理
  4. 数据地图中需要先对 ByteHouse 云数仓版引擎进行元数据采集操作,获取库表元数据信息。详见元数据采集

注意事项

多环境项目模式,任务开发界面配置时,不同任务类型使用不同环境数据:

  • 配置全域数据集成任务时,均使用数据源的开发环境配置,任务发布后运行时系统自动使用数据源的生产环境配置,多环境数据源只适用于离线集成任务,不适应于流式集成解决方案,流式集成和解决方案中默认仅使用生产环境数据源。
  • 配置数据开发 ByteHouse CDW SQL 任务时,编辑器中配置环境映射中的生产环境引擎和计算组,任务调试时自动切换环境映射中对应的开发环境引擎和计算组。

新建多环境项目

  1. 登录 DataLeap租户控制台
  2. 单击新建项目按钮,进入配置项目基础信息、项目管控和服务绑定等信息。其中:
    1. 在项目管控中,开发模式选择多环境模式

      说明

      开发模式一旦设定后,便不可更改。

      Image
    2. 在服务绑定中,勾选 ByteHouse 云数仓版服务,并绑定已创建的开发和生产集群实例信息,与相应的计算组信息。
      Image
      更多项目配置参数说明,详见 4 参数说明

环境映射

多环境模式项目创建完成后,需在环境映射中,操作配置开发环境和生产环境的计算资源映射和元数据关系。

  1. 您可在项目创建完成后的弹窗中进入环境映射配置入口,或在项目控制台中进入。
    Image

  2. 在环境映射配置界面,依次完成计算资源映射和元数据映射配置。

  3. 计算资源映射:
    配置 ByteHouse 云数仓版资源组映射与引擎映射:

    说明

    映射关系所涉及的集群与计算组,均需先在创建项目时的“项目配置 > 服务绑定”中进行绑定。

    参数

    说明

    资源组映射

    当前仅支持展现配置 DataLeap 项目计算资源组、调度资源组类型的映射绑定,默认开发环境与生产环境保持一致。本期暂不支持变更操作。

    引擎映射

    集群

    配置 ByteHouse 云数仓版引擎的映射情况,默认开发环境与生产环境配置保持一致。
    当创建项目已绑定两个及以上的云数仓版引擎服务实例时,依次进行以下操作:

    1. 单击操作列中的删除按钮,先将某一个集群引擎服务映射删除;
    2. 去掉与生产环境相同的默认勾选,并根据实际情况,在开发环境、生产环境中分别下拉选择不同的引擎服务实例进行映射。

    Image
    若项目绑定了更多云数仓版引擎服务实例,可单击添加映射按钮,添加多个集群映射关系。

    计算组

    配置计算组映射情况。
    添加多个计算组,可在开发、生产环境执行任务时,根据映射关系配置自动选择对应环境的计算组。如开发环境执行任务,选择“计算组A_Dev”执行,同样配置将任务发布至生产环境后,执行任务会自动选择“计算组A_Prod”执行。
    集群映射配置完成后,您可单击列表左侧的展开按钮,或操作列的 按钮,为开发和生产集群添加对应环境的计算组映射项。
    Image

  4. 元数据映射
    计算资源映射配置完成后,单击下一步按钮,进入元数据映射配置界面。
    元数据映射能够按照引擎分类,展示开发环境与生产环境所选集群下数据库的映射状况。
    当前,ByteHouse 云数仓版引擎尚不支持库粒度的元数据映射配置,开发库和生产库依靠引擎映射来区分。所以,在后续的 SQL 任务开发过程中,建议您确保开发环境与生产环境所选择的数据库/表名称信息保持一致。以便一套任务配置就能够在不同环境中正常执行。
    更多环境映射操作说明详见环境映射

  5. 计算资源映射和元数据映射配置完成后,单击确认保存按钮,即可完成环境映射配置。

全域数据集成

全域数据集成是稳定高效的数据同步平台,致力于提供丰富的异构数据源之间高速稳定的数据同步能力。您可按需进行离线、实时或整库解决方案同步任务配置。
环境信息配置完成后,您可继续以下操作。

多环境数据源配置

  1. 在项目控制台左侧导航栏中,单击数据源管理按钮,进入数据源管理页面。

  2. 数据源管理页面,您可以开始新增生产、开发数据源,此处以配置 MySQL 和 ByteHouse 云数仓版数据源为例。

    • 配置 MySQL 数据源:

      注意

      • 离线读 MySQL 数据时,配置的账号需拥有同步表的读 (SELECT) 权限。
      • 离线写 MySQL 数据时,配置的账号需拥有同步表的写(INSERT、DELETE、UPDATE)权限。
      • 需要将资源组关联 VPC 中的 IPv4 CIDR 地址添加进MySQL数据库白名单中。

      更多MySQL数据源注意事项详见配置 MySQL 数据源

      参数

      说明

      基本配置

      *数据源类型

      MySQL

      *接入方式

      火山引擎 MySQL

      *数据源名称

      数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100 个字符以内。

      *适用环境

      多环境模式项目中,集成任务配置必须配置数据源开发和生产环境,平台默认勾选生产环境进行配置,您需手动勾选开发后,根据实际情况,选择开发环境和生产环境的数据源参数是否保持一致:

      • 若开发数据源和生产数据源参数信息保持一致时,可单击一键复制生产环境配置信息按钮后,便可快速将生产环境数据源配置信息,填充到开发环境中。
      • 若开发环境数据源与生产环境数据源需要隔离,配置信息不一致时,则勾选“开发”后,需额外配置开发环境数据源信息。

      说明

      仅多环境项目模式,支持选择数据源适用环境,且任务开发界面进行任务配置和任务调试时,只能使用开发数据源,任务发布后可自动使用生产数据源。

      参数配置

      RDS 实例 ID

      下拉选择火山引擎云数据库 MySQL 的实例 ID 信息,开发、生产环境可按需选择不同的实例 ID 信息。

      数据库名

      下拉选择对应实例下,已创建的 MySQL 数据库名称。

      用户名

      输入对应实例下有权限访问数据库的用户名信息。

      密码

      输入用户名对应的密码信息。

    • 配置 ByteHouse 云数仓版数据源:

      参数

      说明

      基本配置

      *数据源类型

      ByteHouse 云数仓版

      *接入方式

      火山引擎 ByteHouse 云数仓版

      *数据源名称

      数据源的名称,可自行设置,仅支持中文,英文,数字,“_”,100 个字符以内。

      *适用环境

      多环境模式项目中,集成任务配置必须配置数据源开发和生产环境,平台默认勾选生产环境进行配置,您需手动勾选开发后,根据实际情况,选择开发环境和生产环境的数据源参数是否保持一致:

      • 若开发数据源和生产数据源参数信息保持一致时,可单击一键复制生产环境配置信息按钮后,便可快速将生产环境数据源配置信息,填充到开发环境中。
      • 若开发环境数据源与生产环境数据源需要隔离,配置信息不一致时,则勾选“开发”后,需额外配置开发环境数据源信息。

      说明

      仅多环境项目模式,支持选择数据源适用环境,且任务开发界面进行任务配置和任务调试时,只能使用开发数据源,任务发布后可自动使用生产数据源。

      参数配置

      环境

      ByteHouse 云数仓版支持选择多环境实例管理,下拉选择 ByteHouse 云数仓版中具体的环境名称信息。默认为 ByteHouse 云数仓中 default 环境。ByteHouse 云数仓版多环境操作,详见环境管理
      多环境项目模式下,您可根据实际情况在开发、生产环境数据源中配置不同的 ByteHouse 云数仓版多环境实例,满足生产开发数据源隔离配置场景。多环境项目模式开启方式详见上方 新建多环境项目

      *ByteHouse 库

      下拉选择已在 ByteHouse 云数仓版对应环境中创建的数据库名称信息,开发库与生产库可按需选择不同库名信息。

      *计算组

      ByteHouse_CDW 对应环境中查询使用的计算组。如果在 ByteHouse 控制台中设置了默认计算组时可以不明确指定。详见 ByteHouse CDW 计算组

      注意

      选择计算组时,需确保计算组使用率在 80% 以下,若超过 80% 会导致任务执行时写入异常,需进行扩容。扩容操作详见计算组规格变更

      API Token

      ByteHouse_CDW 租户管理中的 Access Key 信息。ByteHouse 读取数据的时候需要使用,建议绑定一个长效 Token,避免 Token 过期出现任务异常,不同环境实例中有不同的 Access Key 信息,请注意填写对应信息。

      说明

      使用数据同步解决方案写入、JDBC 连接方式写入离线读取 ByteHouse CDW 时,API Token 必须填写。

      Image

    数据源更多说明详见配置 MySQL 数据源配置 ByteHouse 企业版 数据源

  3. 数据源参数项填写完整后,勾选已绑定的独享集成资源组,并单击上方的生产测试、开发测试按钮,执行测试连通性。测试连通后,单击确定按钮,完成数据源配置。

配置数据集成同步任务

数据源测试连通性成功后,您可继续配置单通道形式的数据集成同步任务。

  1. 在项目控制台界面左上角全部产品中,进入数据开发界面。
    Image
  2. 在数据开发页面,单击新建任务按钮,进入新建任务页面。
  3. 任务类型选择数据集成 > 离线集成,并输入任务名称,选择目标文件夹,完成集成任务新建。

    说明

    任务名称只允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,127 个字符以内。

    Image
  4. 在集成任务配置界面,通过界面向导的方式,来配置 MySQL_to_ByteHouse_CDW 的集成任务。
    Image

    注意

    • 在多环境项目的任务开发界面配置数据集成任务的来源、目标参数信息时,均采用开发环境数据源配置信息,所选表为开发环境库下的表名,任务发布运行时,平台会自动使用生产环境数据源配置,并且能够自动将开发库名替换为生产库名。但您必须确保生产库中的表名及表结构与开发库中的表一致,以免因信息不一致致使任务失败。
    • 多环境项目中,数据集成任务目标端为 MongoDB、MySQL、Hive(数据源必须是 EMR Hive 接入方式)、ByteHouse CDW 时, 平台支持根据任务配置的源端生产表信息来自动创建目标端生产表,并将源端生产表数据同步至目标端生产表。但 Hive 数据源若是通过连接串方式接入时,暂不支持任务自动创建目标端生产表,您需先手动在目标生产库中创建目标表。
    • 多环境数据源只适用于离线集成任务,不适应于流式集成解决方案,流式集成和解决方案中默认仅使用生产环境数据源。
  5. 集成任务来源、目标、字段映射及任务运行参数配置完成后,您可进入右侧调度设置和数据集成资源组窗口,设置开发、生产环境任务通用的调度频率、依赖关系和集成资源组等信息。详见调度设置数据集成资源组

调试集成任务

集成任务配置完成且保存后,便可进行开发环境数据源配置的调试操作。
单击调试按钮,进入调试窗口选择执行业务日期,等待任务执行完成后,您便可前往 ByteHouse 云数仓版控制台查看开发环境中的库表数据;或者您也可通过下方数据开发 ByteHouse CDW SQL 调试能力,查询开发环境中的数据。
Image

数据开发

DataLeap 数据开发即大数据开发 IDE,集批流开发为一体,为开发者提供高效、智能的开发环境。支持快速创建与 ByteHouse 云数仓版引擎相关的开发任务,进行 SQL 代码开发、运行查询等。您可在 DataLeap 平台上,直接操作 ByteHouse 云数仓版相关数据。

元数据管理

元数据界面支持您对使用的 ByteHouse 云数仓版表字段、关联任务的预览查看操作及一键生成表查询语句等便捷操作,且在多环境项目中,元数据管理界面还支持您区分开发、生产环境的元数据管理操作。

  1. 任务开发界面的左侧导航栏中,单击元数据按钮,进入元数据页面。
  2. 元数据类型切换至 ByteHouse CDW 引擎后,默认展现当前项目的开发环境元数据表信息,您可自由切换项目绑定的多个集群实例信息,并根据环境映射中添加的映射关系,对应展现开发库、生产库信息。

Image

新建生产实例任务

多环境项目中,新建 ByteHouse CDW SQL 任务仅支持新建环境映射中生产集群实例下的 SQL 开发任务。

  1. 任务开发界面,单击新建任务按钮,进入新建任务页面。
  2. 依次选择数据开发 > ByteHouse 云数仓 > ByteHouse CDW SQL 任务类型。
  3. 填写任务基本信息,单击确定按钮,完成任务创建。

注意

  • 在项目控制台管理界面中,如果新增或修改了引擎,那么在数据开发任务新建窗口中,需刷新整个 DataLeap 数据开发界面,才能看到新增或修改后的引擎任务类型。
  • 任务名称信息仅允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,且需要在127个字符以内。

Image
数据开发任务说明详见 ByteHouse CDW SQL

编辑生产环境SQL

在代码编辑器界面,输入生产环境对应 ByteHouse CDW SQL 语句,语句中的库名、表名是需要在 ByteHouse 云数仓版生产集群实例中存在的库表信息,示例如下:

说明

在一个 ByteHouse CDW SQL 节点中,当节点中存在多个 Query 时,执行多个 Query 成功时,结果页中只返回最后一个成功 Query 的相应结果。

--在生产集群中创建生产库
CREATE DATABASE IF NOT EXISTS bh_cdw;

--创建生产表
CREATE  TABLE bh_cdw.bh_cdw_table_test(
            id   Int64  COMMENT 'id for column',
            name String COMMENT 'name',
            age  Int64  COMMENT 'age',
            date date   COMMENT 'time'
        ) ENGINE = CnchMergeTree
PARTITION BY date 
UNIQUE key (id, date)
ORDER BY id;

--向生产表中插入数据
INSERT INTO bh_cdw.bh_cdw_table_test VALUES(1, 'John', 25, '2024-01-01'),(2, 'Jane', 30, '2024-01-01');

--查询生产表数据
SELECT * FROM bh_cdw.bh_cdw_table_test WHERE date = '2024-01-01';

调度设置

SQL 代码编辑完成后,您需进入右侧调度设置窗口,设置生产环境中任务所使用的计算组信息,并按需设置任务的调度频率、依赖关系等信息。详见调度设置
Image

开发环境调试

生产环境 SQL 语句编辑完成后,您可进行 ByteHouse CDW SQL 开发环境相应语句的调试操作。

说明

目前在环境映射 > 元数据映射配置时,ByteHouse 云数仓版引擎暂不支持元数据库信息的映射配置,所以,建议您将开发环境中的库表名称信息与生产环境中的库表名称信息保持一致,使一套代码能够在两个环境中正常执行。

  • ByteHouse 云数仓版开发集群实例中,如果存在与生产库表同名的开发库表信息,则:
    1. 单击编辑界面上方调试按钮,并在弹窗中选择业务日期;
    2. 单击开发环境调试按钮,便可查询 ByteHouse 云数仓版开发环境中的库表数据。
      Image
  • ByteHouse 云数仓版开发集群实例中,如果不存在与生产库表同名的开发库表信息,则:
    1. 单击编辑界面上方调试按钮,并在弹窗中选择业务日期;
    2. 单击预览开发环境 SQL 按钮,在自定义 SQL 窗口中查看开发环境库表相关的 SQL 语句;

      注意

      因 ByteHouse 云数仓版引擎目前暂不支持元数据库表信息的映射替换,所以建议您在预览时,仔细核对开发环境中的库表名称信息,避免因库表名称信息不一致而导致查询失败。
      此外,您也可以在预览时,手动修改开发环境中的 SQL 语句,从而保证查询的正确性。

      Image
    3. 单击使用自定义 SQL 调试按钮,便可查询 ByteHouse 云数仓版开发环境中相应的库表数据。
      Image
    4. 任务调试结束后,您可在日志中查看调试使用的开发环境实例与计算组信息。
      Image

提交任务

开发环境调试结果确认无误后,单击上方操作栏中的保存提交上线按钮,在提交上线对话框中,依次设置回溯数据、监控设置、提交设置等参数,以下为您介绍多环境项目中如何提交任务至不同环境中。

注意

在提交上线或发布过程中,如果触发了流水线管理,您需要确保流水线运行成功后,任务才能真正被提交到发布中心或运维中心。详见配置流水线

提交任务至开发环境

提交任务至开发环境,您需通过发布中心,将任务发布到开发环境中。

注意

发布至开发环境的任务,不受发布复查策略和发布流水线校验控制,可直接发布至开发环境,您需关注开发环境的执行结果。

  1. 在提交上线窗口,提交设置中,选择仅提交方式,并单击确认按钮,便可将任务提交至发布中心。
    回溯数据、监控设置等更多提交上线说明详见:数据开发概述---离线任务提交
    Image
  2. 前往发布中心,在待发布列表中,单击新建发布包按钮;
    Image
  3. 在新建发布包窗口中,选择发布环境为“发布开发环境(后续推生产环境)”;
    Image
  4. 并单击下方开发环境调度配置按钮,在开发环境调度配置窗口中,按实际场景配置开发任务优先级、执行时间、开发环境依赖等信息,您也可以在窗口中手动修改开发环境的 SQL 代码;

    说明

    开发环境调度配置中展现的 SQL 代码,已是根据多环境配置替换后的代码,可直接将其发布到开发环境,您也可以手动对开发环境的 SQL 代码进行修改。

  5. 开发环境调度配置信息填写完成后,单击发布至开发环境按钮,即可将任务发布至开发环境中。
  6. 成功发布至开发环境后,在待发布列表中,任务变更类型已修改为“XX(已发布至开发环境)”。

提交任务至生产环境

提交任务至生产环境,您可在提交上线窗口中,直接将任务提交并发布至生产环境;也可通过发布中心,再将任务发布到生产环境中。

  • 方式一:
    提交设置时直接选择“提交并发布至生产环境”,便可直接在提交上线窗口中,将任务提交至生产环境。
    Image
  • 方式二:
    通过发布中心,将任务发布至生产环境,操作如下:
    1. 在提交上线窗口,提交设置中,选择仅提交方式,并单击确认按钮,便可将任务提交至发布中心。
    2. 前往发布中心,在待发布列表中,单击新建发布包按钮;
    3. 在新建发布包窗口中,选择发布环境为“发布生产环境(跳过开发环境)”;
      Image
    4. 在下方单击确定按钮后,便可将任务发布至生产环境。

更多发布中心操作,详见任务发布

任务运维

在多环境项目中,任务提交发布成功后,可进入运维中心查看开发环境运维和生产环境运维。
在上方导航栏中,进入离线任务运维,并可在离线任务运维左侧导航栏上方,切换查看开发环境运维生产环境运维的任务详情。

说明

为区分开发环境任务与生产环境任务,平台在开发环境任务中默认增加了环境标识,环境标识为“__dev”,如自定义的任务名称为:cdw_多环境,则开发环境任务名称为:cdw_多环境__dev;生产环境中任务名称不变,仍为 cdw_多环境。

Image
在对应环境中,按需查看任务运行情况,您也可对任务进行监控报警设置、开启任务、停止任务、查看运行日志等运维操作。
更多任务运维操作,详见离线任务运维