1 整体概述
DataLeap 数据开发即大数据开发 IDE,集批流开发为一体,为开发者提供高效、智能的开发环境。支持快速创建开发任务、进行代码开发、运行查询等。主要模块包含数据开发、临时查询、数据库、资源库、函数库、回收站。
2 支持引擎介绍
- E-MapReduce(EMR):火山引擎 E-MapReduce 支持构建开源 Hadoop 生态的企业级大数据分析系统,完全兼容开源,提供 Hadoop、Spark、Hive、Flink、StarRocks、Doris 等大数据生态组件的集成和管理,同时也支持 EMR on ECS、EMR on VKE、EMR Serverless OLAP 等多种形态,来帮助用户轻松完成企业大数据平台的构建,降低运维门槛,快速形成大数据分析能力。
- LAS :LakeHouse Analytics Service,是 Serverless 湖仓一体分析服务 ,提供多模引擎,完全兼容开源 Spark、Presto、Hudi 生态,具备弹性计算、海量存储、数据实时更新、统一 SQL、批流合一优势,与大数据开发治理套件对接,支持数据仓库/集市/数据湖分析能力,帮助企业构建云原生实时湖仓分析平台。
- 流式计算 Flink 版: 火山引擎流式计算 Flink 版是一个 100% 兼容 Apache Flink 的全托管流式计算平台,集成了企业级超大规模作业实践,拥有开箱即用、免运维、Serverless 极致弹性、极简 SQL 开发、低 TCO、高 SLA 保障等特性,助力企业向实时化、云原生化飞速转型。
- ByteHouse 企业版(ByteHouse CE)、ByteHouse 云数仓版(ByteHouse CDW):ByteHouse 是火山引擎基于开源 ClickHouse 进行了深度优化和改造的版本,提供海量数据上更强的查询服务和数据写入性能,应用包括海量数据多维分析、机器学习模型评估、微服务监控和统计等。
3 数据开发流程概述
DataLeap 数据开发基于不同引擎能力,提供多种数据开发节点类型,您可以选择项目已绑定的引擎类节点、通用类节点、数据集成类节点、交互式分析类节点或工作流任务模式进行数据开发工作,您也可以结合资源函数等能力来进行更复杂的作业开发。作业配置完成后,您可以通过平台调度能力,实现周期运行作业,配置调度相关参数,将作业提交发布至线上生产环境,进行周期调度。
下面为您简单介绍数据开发流程。
3.1 新建任务
- 登录DataLeap租户控制台。
- 在概览界面,显示加入的项目中,单击数据开发进入对应项目。
- 在任务开发界面,左侧导航栏中,单击新建任务按钮,进入新建任务页面。
- 配置完下方任务参数后,单击确认按钮,完成新建任务。
注意
- DataLeap 服务开通对任务分类类型的限制:
- 仅开通“大数据集成”服务,不支持创建 Shell、Python、交互式分析Notebook 任务;
- 仅开通“湖仓一体”服务,不支持绑定 EMR 引擎。
- 仅开通“湖仓一体”、“大数据集成”服务,不支持绑定流式计算 Flink 引擎。
- 仅开通“大数据集成”、“数据开发特惠版”,不支持绑定 ByteHouse CE 引擎和创建工作流任务模式。
- 创建引擎类数据开发节点,需要先在新建项目时,绑定相应的引擎,其中 EMR 引擎支持多项目绑定同一引擎实例、单项目绑定多个 EMR 引擎实例。
- 以下绑定引擎、关联实例等配置参数,仅在任务分类选择数据开发时需要选择。
参数 | 说明 |
---|
选择任务类型 |
任务模式 | 支持选择单节点模式与工作流模式: - 单节点模式:可根据具体的任务分类来选择具体的单任务。
- 工作流模式:在一个工作流任务中,通过拖拽式的方式添加多个子节点类型进行任务统一管理与运维。
|
分类 | 支持数据开发、数据集成、交互式分析三种分类。 |
绑定引擎 | EMR、LAS、流式计算 Flink 版、ByteHouse CE、通用。 |
关联实例 | 由选择的绑定引擎决定: - 当引擎选择 EMR、ByteHouse CE 时,下拉框中会展现出当前项目所有已绑定的 EMR/ByteHouse CE 集群,单击选择即可,单个项目支持绑定多个 EMR/ByteHouse CE 集群,详见创建项目。
- 当引擎选择 LAS 时,关联实例默认为 default。
- 当引擎选择流式计算 Flink 版时,下拉框中会展现出当前项目已绑定的引擎项目,单击选择即可。
- 当引擎选择通用时,不用选择相应的关联实例。
|
选择任务 | 可根据实际场景需要,选择对应任务类型。 |
任务基本信息 |
任务名称 | 当前数据开发任务的名称,只允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,且总计需要在127个字符内。 |
保存目录 | 任务的保存路径。 |
任务描述 | 输入描述任务的内容,便于后续管理。 |
3.2 任务类型分类
- 工作流模式:
在一个工作流任务中,支持创建 EMR、LAS、ByteHouse CE、通用、离线数据集成等引擎下的任务类型。详见工作流 - 单节点模式:
DataLeap 单节点模式目前支持以下三类节点:数据开发、数据集成、交互式分析。
3.2.1 数据开发类节点
选择引擎下对应的引擎类型节点,将相应的代码下发到对应的数据清洗引擎上执行。
数据开发类节点目前支持选择 EMR、LAS、流式计算 Flink 版、ByteHouse CE 和通用的引擎类型,支持的任务类型分别如下:
EMR 引擎
注意
- EMR引擎目前支持绑定 Hadoop、TensorFlow、Flink、Doris、StarRocks 五种集群类型,其中 StarRocks、Doris 集群仅支持绑定 EMR-3.2.1 及以上集群版本,不同版本说明详见 EMR版本概述。
- EMR 流式数据任务创建,需满足以下条件之一:
- 支持 EMR-3.2.1 及以上版本的 Hadoop 集群类型,且需包含 Flink 和 GTS 组件服务。
- 支持 EMR-1.3.1 版本的 Hadoop 或 Flink 集群类型,且需包含 Flink 组件服务。
其余版本将在后续支持创建流式数据任务,详见各流式任务使用前提。
引擎分类 | 关联集群实例 | 支持任务类型 |
---|
EMR | Hadoop | |
TensorFlow | 离线数据: EMR Spark:实现使用 Java\Python Spark 处理数据,多用于大规模的数据分析处理等。 |
Flink | 流式数据: |
Doris | 离线数据: EMR Doris:通过 EMR Doris 语句,对 Doris 数据库表进行加工分析处理。 |
StarRocks | 离线数据: EMR StarRocks:通过 EMR StarRocks 语句,对 StarRocks 数据库表进行加工分析处理。 |
Serverless StarRocks | 离线数据: EMR Serverless StarRocks:通过 EMR Serverless **** StarRocks 语句,对全托管 StarRocks 数据库表进行加工分析处理。 |
Serverless Spark SQL | 离线数据: EMR Serverless Spark SQL:通过 EMR Serverless **** Spark 语句,可对 LAS Formation 元数据库表进行加工分析处理。 |
Serverless Spark Java/Python | 离线数据: EMR Serverless Spark Java/Python:通过 EMR Serverless Spark Java/Python **** 语句,实现使用 Java\Python 处理数据,用于大规模的数据分析处理。 |
LAS 引擎
引擎分类 | 关联实例 | 支持任务类型 |
---|
LAS | default | 离线数据: |
流式计算 Flink 版 引擎
引擎分类 | 支持任务类型 |
---|
流式计算 Flink 版 | 流式数据: |
ByteHouse CE 引擎
引擎分类 | 支持任务类型 |
---|
ByteHouse CE 引擎 | 离线数据: ByteHouse CE SQL:通过 ByteHouse CE SQL 语句,对 ByteHouse CE 数据进行加工处理。 |
ByteHouse CDW 引擎
引擎分类 | 支持任务类型 |
---|
ByteHouse CDW 引擎 | 离线数据: ByteHouse CDW SQL:通过 ByteHouse CDW SQL 语句,对 ByteHouse CDW 数据进行加工处理。 |
通用
引擎分类 | 支持任务类型 |
---|
通用 | - Python:利用Python语法,实现数据分析。
- Shell:满足Shell开发业务场景,使用Shell语法实现数据开发。
|
3.2.2 数据集成类节点
提供稳定高效的数据同步平台,致力于提供丰富的异构数据源之间高速稳定的数据同步能力。
- 数据集成类单通道任务节点目前已支持离线集成和流式集成:
- 离线集成:离线(批量)数据同步,通过定义数据来源和去向的数据源,实现异构数据源之间的数据传输。
- 流式集成:实时同步支持实时从 Kafka、MySQL、BMQ 等数据库中读取数据到目标数据库:Hive、HDFS、LAS、Doris、CFS等,实现实时保持源库和目标库的数据对应。
注意
数据集成任务中,EMR 集群涉及的 Hive、HDFS、Doris、StarRocks 数据源,目前支持除 EMR-2.X 之外的集群版本。
- 全域数据集成 DataSail 支持实时整库同步、实时分库分表、离线整库同步和实时数据采集方案:
- 实时整库同步:一键实时整库同步解决方案支持多种数据源之间,进行数据的全增量一体化同步,方案中先将源端全量数据通过离线任务方式同步迁移,然后再通过实时同步增量任务,将数据采集至目标端数据源中。
- 实时分库分表:一键实时分库分表解决方案,支持将 Schema 相同的多个实例中多个数据库下的多个分表数据,一键同步到目标端一个表中。
- 离线整库同步:离线整库同步方案,可周期性和一次性将整库表数据同步到目标端,方案类型包括离线整库同步(一次性全量)、离线整库同步(周期性全量)、离线整库同步(一次性增量)、离线整库同步(周期性增量)、离线整库同步(一次性全量周期性增量) 五种类型。
- 实时数据采集方案:实时数据采集方案支持您将源数据库的增量数据实时采集至消息队列,当增量数据较大或者存在波峰波谷时,建议您先进行数据缓存的中间步骤。
支持的数据源类型详见:https://www.volcengine.com/docs/6260/65365
3.2.3 交互式分析节点
Notebook任务:为满足用户数据开发、数据探索场景提供的交互式开发环境。支持使用 Python、Markdown 语言、引入第三方库完成数据开发以及算法开发。
3.3 调度设置
完成任务类型设置后,您需要为任务设置调度运行时的相关属性。DataLeap 平台提供了分钟、小时、日、周、月等级别的调度形式。详见调度设置。
3.4 任务操作栏说明
在任务操作栏中,您可以进行以下操作:
说明
不同任务类型,操作栏功能不一致,具体以界面显示为准。
下文以 LAS SQL 任务为例:
序号 | 功能 | 说明 |
---|
1 | 保存 | 将任务进行保存操作,保存当前节点代码及相关配置。 |
2 | 运行/终止 | 运行/终止当前节点的代码。运行 SQL 代码时,支持选中部分代码后运行。 |
3 | 锁定 | 锁定任务,可以由当前任务编辑者锁定,其余协同者编辑代码时,需先单击解锁后再编辑。 |
4 | 提交上线 | 将任务提交上线至运维生产环境中调度周期执行。详见下文提交上线。 |
5 | 格式化 | 依据在个性化设置中的SQL格式化风格的设置,格式化书写的代码,使其语法结构看起来简洁明了。 |
6 | 解析 | 解析检查书写的 SQL 代码的语法和语义正确性,运行前检查语法错误信息,防止运行出错。 |
7 | 任务模板 | 您可以选择是否通过任务模板方式,便捷快速的复用代码模板逻辑,在弹窗中选择 LAS SQL 任务模板,并选择相应的版本号,输入替换的参数即可完成复用。 注意 - 使用任务模板时,界面编辑器不支持再次编辑,若当前任务模板代码,不符合您当前业务场景逻辑,您可通过修改或新建任务模板,形成新版本的任务模板,来实现不同业务场景的复用。
- 修改模板时,需注意其他任务引用情况,操作说明详见:任务模板。
|
8 | 表管理 | 若数据需要存入的 Hive 表尚未创建,则编写完 SQL 语句后,单击表管理 > 快速建表,可基于解析代码快速填充建表页面。 |
9 | 执行引擎 | 不同引擎的任务类型,执行引擎不同。 |
10 | 参数说明 | 平台提供的变量参数说明及参数运算法则。详见时间变量。 |
4 流水线管理
不同的业务场景有不同需求。可结合业务需求,DataLeap 支持面向整体任务开发流程构建流水线。例如在提交场景下,不同的业务侧希望上线前的检查项各不相同,此时可使用流水线能力,通过命中触发条件形式,将提交作业接入流水线检查中,从而实现不同业务侧场景检查不同内容。
流水线能以自动化的方式完成人工卡点、执行发布、触发调试、选择器、CodeCT 等扩展程序校验步骤,实现持续、高效的数据交付。您可在流水线中,添加多个节点流程,即智能市场中提供的扩展程序,来整体把控数据开发流程。
说明
流水线需租户主账号或项目管理员先在项目控制台 > 流水线管理中,创建相应的流水线,详见流水线管理。
流水线创建完成后,在数据开发过程中命中相应的触发操作,便会触发流水线。触发事件目前支持调试、提交、发布三种事件触发。
4.1 调试、提交触发
单击任务工具栏中的调试或提交上线按钮,若该任务在流水线触发对象范围内,且触发事件为任务调试或任务提交时,便会触发流水线。您可以在界面右上角看到触发流水线的通知,同时也可在下方查看流水线记录。
- 单击流水线记录中的“查看详情”按钮,便可查看当前流水线内部执行的流程配置情况。
- 在流水线详情界面,您可进行以下操作:
- 插件详情:单击流水线流程配置中的每个节点插件,可查看其插件执行详情、输入、输出等信息;
- 通过/拒绝:人工卡点的插件扩展程序,对应设置的审核人,可根据实际情况,单击通过/拒绝按钮,来进行流水线的流转操作。
- 终止:若流水线执行时间过长,可单击插件上的终止按钮,进行流水线的终止操作,终止后,整条流水线状态会置为失败状态。
- 置成功:若流水线因某个原因执行失败,您可单击插件节点中“置成功”按钮,将流水线置成功,失败的流水线便可继续往下执行。
注意
- 插件节点是否允许“置成功”操作,需在流水线 > 流程配置 > 扩展程序配置 > 运维配置界面,选择“允许置成功”后,方可进行操作。操作详见流水线管理。
- 选择器扩展程序后的分支插件节点,“跳过”状态下的分支,无法被终止或置成功操作。
4.2 发布触发
项目控制台中已创建触发事件为发布包发布的流水线,且发布的任务在流水线触发对象范围内,此时发布中心创建发布包或提交任务界面选择“提交并发布”时,便会触发流水线,您可进入发布中心 > 发布包管理界面,进行流水线进度的查看。
单击流水线状态详情按钮,在弹窗中查看流水线内部执行的流程配置情况。
5 提交上线
任务编辑保存完成后,单击操作栏中的提交上线按钮,在弹窗中,完成以下提交上线内容配置后,单击确认按钮,完成作业提交。
注意
在提交上线或发布过程中,如果触发了流水线管理,您需要确保流水线运行成功后,任务才能真正被提交到运维中心。
5.1 离线任务提交
参数 | 说明 |
---|
回溯数据 | 提交上线时,是否重跑历史数据,此操作只回溯当前任务本身。 - 否:不进行回溯
- 是:需要重跑历史数据
- 回溯业务时间:选择回溯的业务开始和结束时间。
- 最大并行:设置最大并行数,此次回溯中,包含的所有实例,允许同时运行的实例个数,使用动态分区的任务下多个实例重跑时,并行度需设置为1。
- 生成实例状态:
- 依赖检查:
- 遵循依赖设置,上游完成后再开始执行
- 忽略上游依赖,立即执行
- 指定可调度时段:指定运行时段后,此次回溯生成的全部回溯实例,都将在该运行时段执行。
北京时间:指定时间段,如:
- 若设置时间为:06:00~22:00,则回溯实例将在当日早上6点到晚上10点执行
- 若设置时间为:22:00~06:00,则回溯实例将在当日晚上10点到次日早上6点执行
说明 - “00:00~08:00”是核心任务执行高峰时段,为避免回溯/重跑影响例行,引发全局事故,建议开启该设置,且避开该时段。
- “调度”不等价于“执行”,系统仅负责将对应实例提交调度至引擎,是否执行由引擎侧决定。
|
监控设置 | - 默认监控规则:
- 目前,默认监控规则由系统提供,用户不可修改。
- 默认监控规则:
- 一般离线任务:任务重试结束仍失败,报警以邮件形式发送给任务负责人,且仅发送1次。
- 准实时任务:任务连续执行 3 次仍失败,警以邮件形式发送给任务负责人,且仅发送1次;
说明 默认监控规则,您需在创建项目时,先开启默认监控规则按钮后,方可在提交任务时选择。详见创建项目。 - 自定义监控规则:
- 从项目已创建的监控规则中,选择适用规则,对该任务运行进行监控。
- 可选择多个监控规则,对任务运行进行监控。
监控规则创建,详见:离线任务报警监控。 - 基线监控规则:
- 从项目已创建的基线中,选择适用基线,对该任务及其全部上游任务进行监控。
- 一个任务,只允许加入一条基线。
基线监控创建,详见:基线管理。
|
提交设置 | - 提交设置
- 仅提交:任务仅提交,发布需前往发布中心操作发布。
- 提交并发布:提交并直接发布任务到运维中心。
- 复查人:项目下配置复查策略时,需选定复查人员,复查配置详见复查配置。
- 提交说明:输入本次提交说明,方便后续版本管理。
|
5.2 流式任务提交
参数 | 说明 |
---|
上线检查 | - 配置检查:检查任务的基本配置、流式 SQL、PB(任务如有 PB 的数据类型存在)等配置信息。
- 血缘检查:
- 数据源登记检查:为保证后续数据源监控可正常添加,任务血缘需填写完整。
- 数据源登记信息完整性检查:检查数据源的登记信息是否填写完整。 血缘检查通过后,直接进入上线提交设置。
- 资源检查:Flink 任务资源配置上下限检查。
|
提交设置 | - 提交设置:
- 仅提交:任务仅提交,发布需前往发布中心操作发布。
- 提交并发布:提交并直接发布任务到运维中心。
- 复查人:项目下配置复查策略时可见,需选定复查人员,复查配置详见复查配置。
- 提交说明:输入本次提交说明,方便后续版本管理。
|
启动设置 | - 流式任务上线后,是否直接启动运行。
- 重启模式:流式计算 Flink 版、EMR 流式任务类型,支持设置以下三种重启模式。
- 使用最新状态重启:可选择流式作业的最新可用快照,进行重启。
- 使用历史快照重启:若当前任务有历史快照保存,您可选择保存的历史快照信息,进行重启。快照操作,详见实时任务运维。
- 无状态重启:不使用快照信息,直接重启。
说明 - 流式任务在 Flink 运行参数中,需要添加 execution.checkpointing.interval 参数,用于设定流式任务 checkpoint 的时间间隔,当任务通过上述”使用最新状态重启“模式重启时,能够检查最新状态来重启任务。若不设定该参数,则任务会全新启动,不会检查保存的最新状态。
- EMR 流式任务类型(EMR Flink SQL、EMR Java Flink)重启模式配置目前以白名单形式放开,您需通过提工单方式,咨询 DataLeap 和 EMR 支持人员进行加白后开通使用。
- EMR 流式任务类型(EMR Flink SQL、EMR Java Flink)目前不支持手动创建快照,所以无法使用历史快照重启模式。
|
6 发布中心
发布中心模块,主要目标是提高数据研发效率,规范任务发布流程,区分开发-生产环境,提高生产安全及稳定性,完善数仓研发全链路能力建设。
若提交上线时,只选择仅提交,则您需进入发布中心,在此进行待发布和发布包管理等操作。
7 运维查看
任务提交发布成功后,可进入运维中心查看任务运维。 在上方导航栏中,进入离线任务运维、实时任务运维。您可在运维中,按需查看任务运行情况,可对任务进行监控报警设置、开启任务、停止任务、查看运行日志等运维操作。
操作详见:离线任务运维、流式任务运维。