You need to enable JavaScript to run this app.
导航
ByteHouse CDW 实时数据同步与分析
最近更新时间:2024.07.25 10:21:52首次发布时间:2024.06.28 19:22:05

1 快速入门介绍

本场景体验旨在构建实时离线一体化数据仓库,以满足实时营销活动分析需求。目前,一键实时整库同步解决方案支持多种数据源,可实现数据的全增量一体化同步。具体而言,该方案首先通过离线任务将源端全量数据同步迁移,然后通过实时同步增量任务将数据采集至目标端数据源中。
DataLeap 支持10余种大数据引擎,如 EMR、Serverless EMR OLAP、Serverless Flink、ByteHouse CDW/CE 等,方便用户构建自己的实时链路分析场景和实时数仓。在实时数据链路采集完成后,DataLeap 可完成一站式数据加工及湖仓建设,并基于OLAP ByteHouse CDW引擎快速实现极速查询分析体验。
最后,ByteHouse 云数仓版能够对 PB 级海量数据进行高效分析。基于 ByteHouse 云数仓版提供极致扩展的统一数据分析平台。基于实时的数据分析,辅助决策,加速业务洞察。极大降低运维成本,用户只需专注于产品增长和业务逻辑的实现。

2 注意事项
  1. 本操作指南涉及产品:大数据研发治理套件 DataLeap,全域数据集成 DataSail,火山引擎 ByteHouse CDW 产品、云数据库 MySQL 版,您需提前开通以上产品服务。各产品开通指南详见服务开通
  2. IAM 子用户操作本指南时,需确保拥有 DataLeapFullAccessEMRServerlessFullAccessByteHouseFullAccessRDSMySQLFullAccess,各产品权限说明详见权限体系说明

3 数据链路
  1. 在 DataSail 全域数据集成中, 借助 CDC 实时整库解决方案、将 MySQL 数据源中多个数据表一键同步到 ByteHouse CDW。
  2. 通过 DataLeap 数据研发模块,基于 ByteHouse CDW 引擎完成数仓分层开发(ODS,DWD)建设。
  3. 通过 DataLeap 平台,直接查询 ByteHouse 数据,进行多维 OLAP 分析体验。

图片

4 体验指南

🎬 全域集成视频介绍 (5'16)

4.1 CDC 实时整库同步配置(MySQL to Bytehouse CDW)

4.1.1 使用前提

  1. 实时整库同步方案,通过 MySQL Binlog 读取源端数据,因此您需保障源端 MySQL 需开启 Binlog 日志,查看方式如下:

    SHOW VARIABLES LIKE 'log_bin';
    

    图片

  2. 实时整库同步方案,目标端 ByteHouse CDW 库不支持通过方案自动建库,因此您需要提前在 ByteHouse CDW 集群中先创建好目标库信息,如库名为:bh_odsbh_dwd,创建数据库操作详见快速开始

4.1.2 数据源创建

  • 配置 MySQL 数据源
    图片

    说明

    • 本指南中,MySQL 数据源为您提供共享测试数据源,您可直接使用以下配置信息进行数据源创建测试;也可配置实际业务场景中的 MySQL 数据源信息。
    • 您配置的 MySQL 数据源账号信息,需确保其有 MySQL 数据库的读写权限以及 MySQL Binlog 日志的 REPLICATION 操作权限。MySQL 用户权限操作详见:https://dev.mysql.com/doc/refman/8.0/en/replication-howto-repuser.html

    更多配置操作详见配置 MySQL 数据源

    其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

    参数

    说明

    基本配置

    *数据源类型

    MySQL

    *接入方式

    连接串

    *数据源名称

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

    描述

    MySQL 体验数据源

    参数配置

    *主机名或IP地址

    MySQL 数据库的主机名称或者 IP 地址:mysql-628c2fa644e0-public.rds.volces.com

    *端口

    主机的端口号:3306

    *数据库名

    输入已创建的 MySQL 数据库名称:mysqldb

    *用户名

    有权限访问数据库的用户名信息:guest01

    *密码

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

  • 配置 ByteHouse CDW 数据源
    图片
    其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

    参数

    说明

    基本配置

    *数据源类型

    ByteHouse 云数仓版

    *接入方式

    火山引擎 ByteHouse 云数仓版

    *数据源名称

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

    参数配置

    *ByteHouse 库

    下拉选择已在 ByteHouse 云数仓版中创建的数据库名称信息。

    *计算组

    ByteHouse_CDW 中查询使用的计算组。如果在 ByteHouse 中设置了默认计算组就可以不明确指定。详见 ByteHouse CDW 计算组

    *API Token

    ByteHouse_CDW 租户管理中的 Access Key 信息。ByteHouse 读取数据的时候需要使用,建议绑定一个长效 Token,避免 Token 过期出现任务异常。
    图片

    说明

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

    说明

    按照以上 ByteHouse CDW 数据源配置信息,依次创建 bh_ods、bh_dwd 数据库对应的数据源信息。更多配置操作详见配置 ByteHouse CDW 数据源

4.1.3 创建数据同步解决方案

下面将为您介绍实时整库同步解决方案创建步骤,更多配置明细可参考:MySQL_to_ByteHouse云数仓版实时整库同步

  1. 登录 DataSail 控制台
  2. 在左侧导航栏中选择数据同步方案,进入同步方案配置界面。
  3. 单击目录树中项目选择入口,选择已创建的 DataLeap 项目。
    图片
  4. 进入新建实时整库同步方案界面后,依次配置以下操作步骤:
    1. 配置基本配置:

      • 基本信息:填写方案名称、解决方案保存路径、链路类型选择 MySQLByteHouse 云数仓版 通道类型等基本信息;

      • 网络与资源配置:选择已创建的数据来源 MySQL 数据源名称和目标端 ByteHouse CDW 数据源名称;

      • 连通性测试:单击连通性测试按钮,测试资源组与数据源的网络连通情况;

    2. 数据来源配置:

      1. 来源端 MySQL 选择多表*4:订单表,商品表,类目表,用户表

      2. 配置库名表面映射规则:在目标库名称中输入 ByteHouse CDW 数据源配置的名称;

    3. 无需缓存,直接同步

    4. 数据目标配置:

      1. 刷新源表和目标表映射:单击“刷新源表和目标表映射”按钮,并在数据目标列表配置中, 确认目标表信息;

      2. 在字段信息中,确认映射类型和描述

    5. DDL 策略配置:
      MySQL2ByteHouse_CDW 通道支持新建表、新增列、删除列、重命名列、修改列类型的处理策略,您可按需进行 DDL 策略选择。

      说明

      新建表的处理策略,仅在数据来源表选择为“正则”规则模式指定表时生效。

    6. 运行配置:

      1. 设定离线、实时同步任务执行资源组和任务并发数相关信息;
        图片
      2. 执行信息配置完成后,单击提交方案按钮,并勾选立即执行。
    7. 等待方案同步完成

4.1.4 运行监控方案

在任务列表中,单击运维操作列下的运行监控按钮,进入任务监控配置界面。
您可根据实际情况进行任务监控规则配置操作;
更多配置参考:

4.1.5 确认同步数据

等待同步解决方案任务执行完成后,您可进入数据地图,查看已同步的数据情况。

  1. 元数据采集
    1. 您可前往 DataLeap 数据地图界面;
    2. 切换到元数据采集 > ByteHouse CDW 采集界面。
    3. 单击新建采集器按钮,完成采集器信息配置。采集操作详见元数据采集
      图片
  2. 等待元数据采集器首次执行完成后,您便可前往我的库表界面,查看表详情

4.1.6 查询离线存量数据

  1. 左上角全部产品中,进入数据开发界面
    图片

  2. 在左侧导航目录中,进入临时查询窗口;
    图片

  3. 在临时查询界面,新建 ByteHouse 云数仓版 临时查询任务。

  4. 查询实时整库解决方案同步的商品类目数据

4.1.7 获取实时增量数据

  1. 增量同步全,类目表中原有 25 条数据;

  2. 在数据源端的商品类目表,插入一条新增数据

    INSERT INTO category (id,name1,name2,name3,createtime)
    VALUES ('2001', '服装', '童装','羽绒服','2024-01-07 00:00:00');
    commit;
    select count(0) from category;
    
  3. 捕获 CDC 实时增量同步结果, 同步前表总数 25 条,实时增量同步 1 条,当前总数 26 条;

    select 
        `id`,                                              
        `name1`,                                             
        `name2`,                                             
        `name3`,                                           
        `createtime`                                       
    FROM `ods_serverless_sr`.`category`
    LIMIT 1000;
    
    select count(0) from  `ods_serverless_sr`.`category`;
    

4.2 资产门户构建

4.2.1 业务线配置

业务团队希望对组内产出的所有数据资产,进行结构化的整理,围绕具体支撑的业务、解决的问题、实现的功能等分门别类的进行组织,即可使用数据地图中的“资产目录”和“资产专辑”,形成本电商业务的资产门户。
资产门户的建立,一方面可以有效将散落在各处的数据,统一组织管理起来;另一方面,也方便数据消费用户体系化的进行数据查阅,提升数据检索效率。

说明

  • 资产目录的作用 :
    将组内产出的数据资产(包括但不限于ByteHouse表、EMR、LAS表、指标/维度等),系统整理后,进行类目化的展示。
  • 资产专辑的作用 :
    通过文档的组织形式,将资产目录下透出的数据资产,进行系统化介绍。 专辑内容包括但不限于数据支撑的业务、解决的问题、生产的逻辑、内在的联系等,全方面介绍,让数据消费用户可以更加全面、便捷的了解,相关数据,具体要如何使用。

业务线是有同一属性的业务集合,通常对应于公司中的职能部门。在资产门户的构建场景中,即资产目录、资产专辑下的相关数据资产和文档的生产、管理单位。

  1. 登录 DataLeap 数据地图界面;
  2. 选择概览 > 数据地图 > 管理中心 > 业务线管理,进入业务线管理页面。
  3. 单击新建业务线按钮,并完成以下业务线基本信息配置:
    • 业务线名称:电商业务线
    • 描述:电商行业务线测试专用
    • 资产目录/资产专辑默认排序:创建/更新时间/热度,升序/降序

4.2.2 创建 DWD 明细表

  1. 进入我的库表,单击【新建ByteHouse CDW】,进入对应资产的新建页面

  2. 在新建表界面,使用可视化建表,或复制以下代码用 DDL 方式进行建表,并将 dwd 表创建在 bh_dwd 数据库下:

    CREATE TABLE `bh_dwd`.`dwd_trd_commodity_category_df`
    COMMENT '商品类目表'
    (
        `id` Int64 COMMENT '商品id',
        `skuid` String COMMENT '商品唯一id',
        `name` String COMMENT '商品名称',
        `cateoryid` Int64 COMMENT '品类id',
        `name1` String COMMENT '一级类目',
        `name2` String COMMENT '二级类目',
        `name3` String COMMENT '三级类目'
    )
    ENGINE = CnchMergeTree
    ORDER BY (id)
    PRIMARY KEY (id)
    
  3. 配置基础信息,字段信息:

  4. 配置表高级设置信息

  5. 表属性配置完成后,单击提交按钮,完成 DWD 层表创建;

  6. 资产元数据管理
    单击操作列下的管理按钮,进行元数据管理配置:
    图片

    注意

    仅资产负责人或具有数据写权限的用户,才可对资产的元数据进行编辑。

  7. 元数据管理配置完成后,您需前往管理中心 > 业务线配置界面;
    图片

  8. 进入资产管理界面,批量发布资产。

4.2.3 数据分类管理

选择分类管理 > 数据分类,单击【新增分类】,依次设置以下分类信息:电子商务->服装销售->商品主题/销售主题

4.2.4 专辑分类管理

  1. 选择分类管理 > 专辑分类,单击【新增分类】,设定专辑名称:电子商务专辑

  2. 新建专辑,单机【新建专辑

  3. 配置专辑基础信息

  4. 发布专辑

4.2.5 资产圈选管理

  1. 对新上架的资产进行批量发布

  2. 切换到资产圈选页签;

  3. 圈定 ByteHouse CDW 资产管理范围,新建圈选,提供【手动圈选】、【自动圈选】。资产圈选操作详见资产管理

4.2.6 资产分类打标

确认已圈定资产被正式发布,并单击运行按钮,开始运行圈选操作。
图片

  1. 进入资产管理 > 资产列表;
  2. 勾选资产后,在下方更多操作入口处,选择批量标签设置,并下拉选择标签信息,完成打标;
    图片

4.2.7 标签管理

资产等级管理

分类为核心,重要,普通

4.2.8 资产门户垂类搜索

  • 选择资产目录,输入关键词,进行搜索,搜索【电商业务线】,确认消费侧在门户分类管理情况。

  • 资产专辑搜索

4.3 数仓开发建设

说明

通过 DataSail 数据集成数据实时整库同步,把 MySQL 源数据迁移到 ByteHouse CDW 数据库的 ODS 库中,通过使用 ODS 数据,并经过逻辑加工任务 dwd 生成结果数据。
更多数据开发操作详见数据开发说明

4.3.1 创建 ByteHouse CDW SQL 任务开发

  1. 左上角全部产品中,进入数据开发界面
    图片

  2. 单击新建子目录,创建离线任务开发目录,填写目录名称信息确认无误后单击确定

  3. 在指定目录下,创建 ByteHouse CDW SQL 任务类型,任务名称:dwd_trd_commodity_category_df

  4. 复制以下 SQL 脚本,将 CDC 采集同步到 ODS 数据进行明细层加工;

    INSERT INTO bh_dwd.dwd_trd_commodity_category_df
    SELECT  t1.id,
            skuid,
            name,
            categoryid,
            name1,
            name2,
            name3
    FROM    (
                SELECT  id,
                        skuid,
                        name,
                        categoryid
                FROM    bh_ods.commodity
            ) t1
    JOIN    (
                SELECT  id,
                        name1,
                        name2,
                        name3
                FROM    bh_ods.category
            ) t2
    ON      t1.categoryid = t2.id
    
  5. SQL 脚本编辑完成后,单击右侧调度设置按钮,进行任务调度设置。

  6. 调度设置运行完成后,单击编辑器上方保存运行图标,运行 SQL 任务;

  7. 等待 SQL 任务执行完成后,您便可单击提交并上线按钮,将任务提交发布到运维中心,进行周期调度执行。
    图片

4.3.2 设置运维监控

  1. 任务调试完成,并上线后,您可单击运维监控,对任务进行监控规则设置。

  2. 配置任务监控信息:

    • 规则名称:失败报警;

    • 任务运行第 3 此执行失败后发送任务告警;任务执行耗时超时 5 分钟时发送告警;

    • 告警接收人,您可指定为任务责任人;

    • 告警发送方式,支持邮件、短信、电话、Webhook 等发送方式。

更多运维监控告警配置,详见监控规则