You need to enable JavaScript to run this app.
导航
ByteHouse CDW SQL
最近更新时间:2024.05.30 11:18:55首次发布时间:2024.04.24 16:20:48

ByteHouse 云数仓版(ByteHouse CDW)是一款云原生数据仓库,能够支持实时数据分析和海量数据离线分析,对 PB 级海量数据进行高效分析,其便捷的弹性扩缩容能力,极致分析性能和丰富的企业级特性,助力于客户数字化转型。
DataLeap 数据开发接入 ByteHouse 云数仓版引擎能力,支持您在数据开发任务中,通过创建 ByteHouse CDW SQL 任务类型,来实现对 ByteHouse CDW 引擎数据表的周期性调度或手动执行运维等能力,提高作业的执行效率。
下文将为您介绍如何创建 ByteHouse CDW SQL 任务类型节点进行数据开发。

1 使用前提

  1. 若仅开通 DataLeap 大数据集成数据开发特惠版的服务版本,项目不支持绑定 ByteHouse CDW 引擎。详见版本服务说明
  2. 已开通 ByteHouse 云数仓版服务。详见快速开始
  3. 项目控制台中,需绑定 ByteHouse 云数仓版计算引擎服务,方可创建 ByteHouse CDW SQL 任务。操作详见:创建项目
  4. 子用户操作 ByteHouse CDW SQL 任务时,需先进行以下操作:
    1. 主账号需先进入访问控制 > 用户 > 子用户详情 > 权限页签下,单击添加权限按钮,给子用户添加 ByteHouseReadOnlyAccess 系统策略,子账号方可登录 ByteHouse CDW 控制台
      图片
    2. 子用户操作 ByteHouse CDW SQL 语句时,需具备以下权限:
      • 数据库表的读写权限:子用户需前往“数据安全”界面,进行对应的 ByteHouse CDW 库表权限申请。详见申请权限
      • 计算组使用权限:子用户执行 SQL 时,需拥有对应 ByteHouse CDW 计算组的访问权限。您可请主账号创建相应的角色,将子用户添加进角色中,并在计算组中,添加创建的角色和 Operate、Use、Peek、Describe 等计算组权限,详见 ByteHouse 权限管理角色管理

      注意

      1. 数据库表的读写权限和计算组权限,缺一不可;
      2. ByteHouse CDW 新建数据库、计算组管理等权限,主账号可前往 ByteHouse CDW 控制台 > 权限管理 > 用户界面,单击具体用户名后,在资源权限页签中进行授权操作。
      3. 建议主账号不要直接或通过授权命令方式授予子用户 ByteHouseFullAccess 全局策略、AccountAdminSystemAdmin 角色权限,否则该子用户会绕过 DataLeap-数据安全,拥有所有 ByteHouse CDW 库表的超级权限。
      4. 子用户若因权限问题,无法通过数据开发 SQL 语句进行创建数据库时,您可前往“数据地图”界面,创建相应的 ByteHouse CDW 数据库。详见管理 ByteHouse CDW 库

      ByteHouse CDW 更多权限说明详见 ByteHouse 安全与访问控制

2 新建任务

  1. 登录 DataLeap租户控制台

  2. 概览界面,显示加入的项目中,单击数据开发进入对应项目。

  3. 任务开发界面,左侧导航栏中,单击新建任务按钮,进入新建任务页面。

  4. 选择任务类型:

    1. 分类:数据开发
    2. 绑定引擎:ByteHouse 云数仓版
    3. 关联实例:在下拉列表中选择项目绑定时的 ByteHouse 云数仓版引擎实例。引擎绑定详见创建项目
    4. 选择任务:离线数据 ByteHouse CDW SQL
  5. 填写任务基本信息:

    1. 任务名称:输入任务的名称,只允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,且需要在127个字符以内。如:bytehouse-cdw_0101-中文
    2. 保存至: 选择任务存放的目标文件夹目录。
  6. 单击确定按钮,完成任务创建。

3 配置任务

任务创建成功后,进入到 ByteHouse CDW SQL 任务配置界面,在配置界面中您可按需编写 ByteHouse CDW 支持的 SQL 语法。

3.1 编辑任务

在代码编辑器界面,输入对应 ByteHouse CDW SQL 语句,示例如下:

说明

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

--创建数据库,子用户无权执行 SQL 创建时,可前往“数据地图”创建 ByteHouse CDW 数据库,库名如:bh_cdw_x;
CREATE DATABASE IF NOT EXISTS bh_cdw_x;

--创建数据表
CREATE  TABLE bh_cdw_x.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_x.bh_cdw_table_test VALUES(1, 'John', 25, '2024-01-01'),(2, 'Jane', 30, '2024-01-01');

--查询数据
SELECT * FROM bh_cdw_x.bh_cdw_table_test WHERE date = '2024-01-01';

3.2 导航栏功能区解析

图片

功能名称

描述

格式化

依据在个性化设置中的 SQL 格式化风格的设置,格式化编辑完成的代码,使其语法结构看起来简洁明了。

执行引擎

支持 ByteHouse CDW 执行引擎。

参数说明

ByteHouse CDW SQL 中支持使用系统提供的时间变量和任务中自定义的输入参数。参数使用详见平台时间变量与常量说明

3.3 调度设置

任务配置完成后,在右侧导航栏中,单击调度配置按钮,进入调度配置窗口,您可以在此设置基本信息、调度属性、依赖、任务输入输出参数等信息,详细参数设置详见:调度参数

3.3.1 任务产出数据登记

任务产出数据登记,用于记录任务、数据血缘信息,并不会对代码逻辑造成影响。您可在调度设置 > 任务产出数据登记一栏中,设置产出登记相关信息。
对于系统无法通过解析获取产出信息的其他任务,ByteHouse CDW SQL 任务可自动或手动方式登记其产出信息。如果任务含有 ByteHouse CDW 库表数据的产出,则强烈建议填写,以便后续维护任务数据血缘关系。

说明

手动登记任务产出数据配置时,需事先完成 ByteHouse CDW 元数据采集工作,您可前往数据地图 > 元数据采集配置对应的采集器。操作详见元数据采集

  • 手动登记:
    您手动填写的内容即为任务产出,支持填写多个。其他任务依赖时,您可在其调度设置界面,通过手动添加的方式,依据此处 ByteHouse CDW SQL 任务产出的库表名信息来搜索添加依赖。 具体登记内容包括以下数据类型:
    • ByteHouse CDW:该任务逻辑会将数据写入到 ByteHouse CDW 表,需填写 ByteHouse CDW 数据库名、表名、分区名,分区内容可以使用变量,如 ${date}、${hour} 形式。
    • 其他:该任务逻辑不写数据到 ByteHouse CDW 表。

4 查询控制台

4.1 调试任务

任务代码逻辑和参数配置完成后,您可在编辑器上方,单击操作栏中的保存调试按钮,进行任务调试。

注意

  • 调试操作,直接使用线上数据进行调试,需谨慎操作。
  • 本任务类型支持调试执行成功或失败后发送消息通知,您可根据业务情况,前往项目控制台 > 配置信息 > 消息通知设置中,选择是否开启任务调试运行成功失败通知。
    • 默认通知方式为邮箱,您需在“账号管理”中,提前绑定相应的安全邮箱信息;
    • 您也可根据业务需要,自行配置飞书应用机器人,通过飞书的方式发送消息通知,飞书消息通知前置操作详见1.1 飞书应用机器人创建

4.2 调试记录

调试任务开始运行后,可在下方查看调试记录,您也可以查看任务的历史运行记录,包括状态、业务日期、开始时间、结束时间、耗时、提交人等。
单击调试记录,可以查看以下详情内容:
图片

  • 结果:展示代码执行后的查询结果。

    说明

    因结果页界面预览数据上限为 1000,以及项目数据安全设置均存在限制,查询结果显示数据可能小于实际数据量。建议按如下处理方式:

    • 前往项目控制台,调整项目数据安全设置上限,上限 1 万行。
    • 项目控制台 > 配置信息 > 数据安全设置 > 查询结果勾选允许下载,您便可在查询结果区域单击下载按钮,下载完整数据至本地查看。

    操作详见:新建项目

  • 概览:查看运行结果的代码。
  • 日志:查看运行详情,可下载日志。

5 提交任务

查询结果确认无误后,单击上方操作栏中的保存提交上线按钮,在提交上线对话框中,选择回溯数据、监控设置、提交设置等参数,最后单击确认按钮,完成作业提交。 提交上线说明详见:数据开发概述---离线任务提交
后续任务运维操作详见:离线任务运维