DataphinV3.14 Flink SQL任务支持基于Session集群调试,模拟生产代码逻辑的调试效果

本文涉及的产品
智能数据建设与治理Dataphin,200数据处理单元
简介: 实时研发一直以来的都是通过local-debug的方式来调试开发中的Flink SQL任务,该方式有如下不足:1. 支持的采样数据有限,且非是流式数据的调试。2. 手动上传构造数据的方式较为繁琐,局限性较大。为便于Flink SQL任务的调试,DataphinV3.14版本支持Flink SQL任务基于Session集群调试,期望做到像离线即席查询般方便地获取实时任务的输出结果,方便用户对线上的真实数据进行代码逻辑上的调试。

背景

实时研发一直以来的都是通过local-debug的方式来调试开发中的Flink SQL任务,该方式有如下不足:

  1. 支持的采样数据有限,且非是流式数据的调试。
  2. 手动上传构造数据的方式较为繁琐,局限性较大。
    为便于Flink SQL任务的调试,DataphinV3.14版本支持Flink SQL任务基于Session集群调试,期望做到像离线即席查询般方便地获取实时任务的输出结果,方便用户对线上的真实数据进行代码逻辑上的调试。

Flink Session集群是一个适用于任务快速启停的可交互集群,用户可以在Flink Session集群中实时调试和测试Flink任务。Flink Session集群提供了任务状态、日志和输出结果的实时查看功能,用户可以通过观察任务的行为和输出来验证任务的正确性。用户可以迭代地修改和调试任务代码,以便快速定位和解决问题。

功能概览:

  1. 支持基于Session集群调试实时任务
  2. 支持为Session集群划分独立资源以进行实时任务的调试,不影响其他任务的运行。
  3. 支持跳转Flink ui实时查看Session集群任务的状态、日志和输出结果。
  4. 支持用户对线上的真实数据进行代码逻辑上的调试。
  5. 支持流式数据的调试,实时获取任务的输出结果。

使用说明:

仅 R.S3.0 基于K8s架构的独立部署的开源flink引擎下支持使用

操作流程:

1. 创建用于Session集群任务调试的自定义资源组

需要先创建自定义资源组以创建Session集群用于Flink SQL任务调试。
入口:管理中心 > 资源设置 > 资源组配置 > 新建自定义资源组

  1. 选择合适的调度资源集群
  2. 配置合理的CPU、内存
  3. 应用场景选择实时任务-创建Session集群

image.png

2. 创建Session集群

入口:管理中心 > 资源设置 > Session集群 > 新建Session集群

  1. 配置合理的CPU、内存可用量,注意资源配置的CPU、内存总量不能大于Session集群资源组的CPU、内存可用量。
    Session集群所需的CPU用量 = Task Managers数量 x TaskManager CPU Cores + JobManager CPU Cores
    Session集群所需的内存用量 = Task Managers数量 x TaskManager Memory + JobManager Memory
  2. 配置Session集群运行参数,后续使用Session集群调试Flink SQL任务时,将默认配置该参数信息。
  3. 完成Session集群新建后将自动启动,可以在Session集群列表查看启动状态。

image.png
image.png

3. 调试 Flink SQL任务

调试Flink SQL任务时选择采集线上数据,选择可用的调试集群,任务开始调试后会将调试结果打印在控制台
image.png
image.png

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
28天前
|
存储 SQL 安全
【数据库高手的秘密武器:深度解析SQL视图与存储过程的魅力——封装复杂逻辑,实现代码高复用性的终极指南】
【8月更文挑战第31天】本文通过具体代码示例介绍 SQL 视图与存储过程的创建及应用优势。视图作为虚拟表,可简化复杂查询并提升代码可维护性;存储过程则预编译 SQL 语句,支持复杂逻辑与事务处理,增强代码复用性和安全性。通过创建视图 `high_earners` 和存储过程 `get_employee_details` 及 `update_salary` 的实例,展示了二者在实际项目中的强大功能。
29 1
|
1月前
|
SQL 流计算
Flink SQL 在快手实践问题之CUMULATE窗口的划分逻辑如何解决
Flink SQL 在快手实践问题之CUMULATE窗口的划分逻辑如何解决
42 2
|
1月前
|
SQL 测试技术
评估数据集CGoDial问题之SST任务上下文SQL的问题如何解决
评估数据集CGoDial问题之SST任务上下文SQL的问题如何解决
|
24天前
|
SQL 安全 数据库
基于SQL Server事务日志的数据库恢复技术及实战代码详解
基于事务日志的数据库恢复技术是SQL Server中一个非常强大的功能,它能够帮助数据库管理员在数据丢失或损坏的情况下,有效地恢复数据。通过定期备份数据库和事务日志,并在需要时按照正确的步骤恢复,可以最大限度地减少数据丢失的风险。需要注意的是,恢复数据是一个需要谨慎操作的过程,建议在执行恢复操作之前,详细了解相关的操作步骤和注意事项,以确保数据的安全和完整。
56 0
|
28天前
|
JSON 数据格式 Java
化繁为简的魔法:Struts 2 与 JSON 联手打造超流畅数据交换体验,让应用飞起来!
【8月更文挑战第31天】在现代 Web 开发中,JSON 成为数据交换的主流格式,以其轻量、易读和易解析的特点受到青睐。Struts 2 内置对 JSON 的支持,结合 Jackson 库可便捷实现数据传输。本文通过具体示例展示了如何在 Struts 2 中进行 JSON 数据的序列化与反序列化,并结合 AJAX 技术提升 Web 应用的响应速度和用户体验。
72 0
|
28天前
|
SQL 数据库 索引
SQL 编程最佳实践简直太牛啦!带你编写高效又可维护的 SQL 代码,轻松应对数据库挑战!
【8月更文挑战第31天】在SQL编程中,高效与可维护的代码至关重要,不仅能提升数据库性能,还降低维护成本。本文通过案例分析探讨SQL最佳实践:避免全表扫描,利用索引加速查询;合理使用JOIN,避免性能问题;避免使用`SELECT *`,减少不必要的数据传输;使用`COMMIT`和`ROLLBACK`确保事务一致性;添加注释提高代码可读性。遵循这些实践,不仅提升性能,还便于后期维护和扩展。应根据具体情况选择合适方法并持续优化SQL代码。
27 0
|
1月前
|
机器学习/深度学习 监控 Serverless
Serverless 应用的监控与调试问题之Flink在内部使用的未来规划,以及接下来有什么打算贡献社区的创新技术
Serverless 应用的监控与调试问题之Flink在内部使用的未来规划,以及接下来有什么打算贡献社区的创新技术
|
1月前
|
机器学习/深度学习 监控 大数据
Serverless 应用的监控与调试问题之Flink在整个开源大数据生态中应该如何定位,差异化该如何保持
Serverless 应用的监控与调试问题之Flink在整个开源大数据生态中应该如何定位,差异化该如何保持
|
1月前
|
存储 监控 Serverless
Serverless 应用的监控与调试问题之Pravega和Flink实现端到端的auto-scaling要如何操作
Serverless 应用的监控与调试问题之Pravega和Flink实现端到端的auto-scaling要如何操作
|
1月前
|
SQL 监控 大数据
Serverless 应用的监控与调试问题之Flink流式数仓对于工商银行的数据链路要如何简化
Serverless 应用的监控与调试问题之Flink流式数仓对于工商银行的数据链路要如何简化