ClickHouse SQL可实现分布式SQL查询及处理结构化数据,提高作业的执行效率。DataWorks的ClickHouse SQL节点可进行ClickHouse SQL任务的开发和周期性调度,以及与其他作业的集成操作。本文为您介绍使用ClickHouse SQL节点进行任务开发的主要流程。
前提条件
已创建业务流程。
数据开发(DataStudio)基于业务流程执行不同引擎的具体开发操作,因此,创建节点前需先创建业务流程,操作详情请参见创建业务流程。
已创建EMR ClickHouse或数据库ClickHouse集群,且完成相关准备工作。
EMR引擎类型包括新版数据湖(DataLake)及Hadoop,不同类型引擎创建节点前需执行的准备工作不同。您可根据实际情况完成EMR侧及DataWorks侧的准备工作。
DataLake:详情请参见DataLake集群配置、DataWorks配置。
Hadoop:Hadoop集群开发前准备工作。
已创建ClickHouse数据源并绑定至工作空间。
您需先将您的ClickHouse数据库创建为DataWorks的ClickHouse数据源并绑定至数据开发(DataStudio),才可通过ClickHouse数据源访问ClickHouse数据,进行后续的开发操作。详情请参见创建ClickHouse数据源、开发前准备:绑定数据源或集群。
已购买Serverless资源组,并且Serverless资源组绑定ClickHouse集群所在的VPC专有网络,详情请参见新增和使用Serverless资源组。
说明支持Serverless资源组(推荐)或旧版独享调度资源组运行ClickHouse SQL节点任务。
步骤一:创建ClickHouse SQL节点
进入数据开发页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的 ,在下拉框中选择对应工作空间后单击进入数据开发。
右键单击目标业务流程,选择
。在新建节点对话框中输入节点名称,单击确认,节点创建完成,您可在节点中进行对应任务的开发与配置。
步骤二:开发ClickHouse SQL任务
(可选)选择ClickHouse数据源
如果您的工作空间创建了多个ClickHouse数据源,则需先在ClickHouse SQL节点编辑页面选择合适的数据源。如果仅创建了一个ClickHouse数据源,则默认使用该数据源进行开发操作。
开发SQL代码
在ClickHouse SQL节点的代码编辑区域编写要执行的ClickHouse SQL任务。示例运行的任务代码如下。
CREATE DATABASE if not EXISTS ck_test;
CREATE TABLE if not EXISTS ck_test.first_table (
`product_code` String,
`package_name` String
) ENGINE = MergeTree ORDER BY package_name SETTINGS index_granularity = 8192;
insert into ck_test.first_table (product_code, package_name) VALUES ('1', '1');
select * from ck_test.first_table;
步骤三:配置任务调度
如您需要周期性执行创建的节点任务,可单击节点编辑页面右侧的调度配置,根据业务需求配置该节点任务的调度信息。配置详情请参见任务调度属性配置概述。
您需要设置节点的重跑属性和依赖的上游节点,才可以提交节点。
步骤四:调试任务代码
您可根据需要执行如下调试操作,查看任务是否符合预期。
步骤五:提交发布任务
节点任务配置完成后,需要执行提交发布操作,提交发布后节点即会根据调度配置内容进行周期性运行。
单击工具栏中的图标,保存节点。
单击工具栏中的图标,提交节点任务。
提交时需在提交对话框中输入变更描述,并根据需要选择是否在节点提交后执行代码评审。
说明您需要设置节点的重跑属性和依赖的上游节点,才可提交节点。
代码评审可对任务的代码质量进行把控,防止由于任务代码有误,未经审核直接发布上线后出现任务报错。如进行代码评审,则提交的节点代码必须通过评审人员的审核才可发布,详情请参见代码评审。
如您使用的是标准模式的工作空间,任务提交成功后,需单击节点编辑页面右上方的发布,将该任务发布至生产环境执行,操作请参见发布任务。
后续步骤
任务提交发布后,会基于节点的配置周期性运行,您可单击节点编辑界面右上角的运维,进入运维中心查看周期任务的调度运行情况。详情请参见查看并管理周期任务。