调试阶段

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介:

数据开发为您提供了一套模拟的运行环境(如下图),您可以在调试环境中自定义上传数据,模拟运行,检查输出结果。业务逻辑完成后,模拟运行步骤如下。

语法检查

自动检测SQL中是否有语法错误。检测结果能够显示出错误SQL语句以及错误信息。

15

作业调试

作业调试步骤如下。

  1. 自行构建测试数据。
  2. 从数据源表中抽取数据。实时计算支持两种抽取模式。随机抽取数据模式和顺序抽取数据模式。

    注意:

    1. 必须是用了数据存储中注册功能才可以使用。
    2. 抽取数据建议使用纯文本。使用EXCEL可能导致数据测试不准确。
  3. 输出调试结果

16
876

与生产环境完全隔离

调试环境下,所有的Flink SQL将在独立的调试容器运行,且所有的输出将被直接改写到调试结果屏幕。不会对线上生产流实时计算作业、线上生产的数据存储系统造成任何影响。
数据调试实际上不会真正写入到外部数据存储,而是被实时计算拦截输出到屏幕。因此,在实时计算调试完成的代码是在调试容器中完成。

说明:线上运行过程中可能由于对目标数据存储写入格式的不同导致运行失败。这类错误在调试阶段无法完全规避,在线上运行时才能发现。例如,您将结果数据输出到RDS系统。其中某些字段输出字符串数据长度大于RDS建表最大值,在Debug环境下我们无法测试出该类问题。但实际生产运行过程中会有引发异常。后续,实时计算将提供针对本地调试运行,也支持写出到真实数据存储的功能.届时可以有效辅助您缩短调试和生产的差距,有助于在调试阶段解决问题。

83

支持构造测试数据

调试环境下,所有的Flink SQL运行均不会从源头数据存储系统读取数据,包括DataHub的流式输入、RDS等维表输入。调试环境需要您自行构建测试数据集,并将测试数据上传到数据开发
实时计算针对不同作业提供测试数据模板。您可以下载数据模板然后直接填写构造数据。建议您使用下载的数据模板构造数据,避免可能的格式错误。

调试分隔符

默认情况下,调试文件使用逗号作为分隔符。例如您构造了如下的测试文件。


 
 
  1. id,name,age
  2. 1,alicloud,13
  3. 2,stream,1

在不指定调试分隔符情况下,默认使用了逗号进行分隔。但如果您需要使用JSON文件作为字段内容,字段内容已经包含了逗号。此时您需要指定其他字符作为分隔符。

注意:流计算仅支持指定单个英文字符为分隔符,不允许字符串,例如不允许’aaa’作为分隔符。如下,


  
  
  1. id|name|age
  2. 1|alicloud|13
  3. 2|stream|1

此时您需要设置针对该作业的数据存储类型的参数,如下图。


 
 
  1. debug.input.delimiter = |
2134


本文转自实时计算——调试阶段

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
8月前
|
存储 NoSQL 安全
【C++调试】深入探索C++调试:从DWARF到堆栈解析
【C++调试】深入探索C++调试:从DWARF到堆栈解析
382 1
|
8月前
|
人工智能 测试技术 开发者
大模型自动生成并运行代码的体验与优化
随着近两年大模型的不断发展,它们在各个领域展示出了惊人的能力,可以说是在各个领域到了“开花结果”的阶段。比如最近技术圈比较火的阿里云的通义千问已经可以自己写代码、跑代码了,作为开发者,我觉得这种能力不仅提高了开发效率,还推动了编程实践向更高层次的转变和发展。但是,在使用大模型自动生成代码时,我们也会面临一些挑战,其中之一是代码可能会曲解开发者的需求。那么本文就来分享一下个个人的体验以及如何优化这种情况。
805 2
大模型自动生成并运行代码的体验与优化
|
7月前
|
小程序 开发者
如何调试已经上线的小程序
如何调试已经上线的小程序
|
8月前
|
存储 编译器 程序员
【调试方法】基于vs环境下的实用调试技巧
【调试方法】基于vs环境下的实用调试技巧
|
8月前
|
C#
C#调试与测试 | DebuggerDisplay使用技巧
DebuggerDisplay可以让你在调试器中显示你自己定义的字符串,代替默认的显示方式。换句话说,它可以让你在调试器中更加方便地查看对象的信息。 当你在调试一个复杂的对象时,往往会发现默认的显示方式不能满足你的需求。这时,你可以使用 DebuggerDisplay 来自定义你想要显示的信息。例如,你可以将一些比较重要的属性或字段的值显示在调试器中,这样你就可以更加方便地了解对象的状态。另外,如果你使用了一些自定义的类,这些类可能没有默认的 ToString 方法,调试器默认的显示方式就会非常简陋,这时你可以使用 DebuggerDisplay 来定义一个更加友好的显示方式。
80 0
|
监控 程序员 编译器
代码的调试技巧
代码的调试技巧
|
前端开发 API 数据库
第五阶段项目
api Dao UserDaoImpl Service Controler pom文件
127 0
|
Java 开发工具 C#
如何以超快的方式调试?
如何以超快的方式调试?