调试实时任务

Dataphin支持对开发的实时任务代码进行数据采样或者手动上传并进行本地调试,以帮助您保障代码任务的正确性,避免人为错误或遗漏。本文将为您介绍如何调试实时任务。

使用限制

  • Blink仅支持引擎版本3.6.0及以上进行本地调试。

  • 不支持DataStream任务进行调试。

调试任务操作入口

  1. 在Dataphin首页,单击顶部菜单栏的研发

  2. 按照下图操作指引,选择所需要调试的任务并进入任务的调试配置对话框。

    image.png

    当前仅支持单种模式调试,选择模式后采样对应模式表数据进行调试。

    • 实时模式调试:采样对应的实时物理表数据,完成数据采样后将在FLINK Stream模式下进行本地调试。具体操作,请参见实时模式调试

    • 离线模式调试:采样对应的离线物理表数据,完成数据采样后将在FLINK Batch模式下进行本地调试。具体操作,请参见离线模式调试

实时模式调试

  1. 调试配置对话框的选择采样模式页签中,选择实时模式-FLINK Stream任务

    image.png

  2. 单击下一步

  3. 在调试配置对话框中,选择调试数据来源

    • 手动上传数据(本地调试方式)

      即通过本地调试方式手动上传数据进行调试。上传数据方式包括手动上传样例数据文件手动输入数据自动抽样数据

      • 手动上传样例数据文件

        您可以通过上传数据的方式,手动上传本地数据。上传本地数据前需要先下载样例,样例由Dataphin自动识别读写的表和表的schema信息生成的csv格式样例模板,您可根据下载的样例编辑需要上传的数据,单击上传后,数据自动填充至元数据采样区域。

      • 手动输入数据

        适用于采集的数据比较少,或者需要修改已采集到的数据的场景。

      • 自动抽样数据

        自动抽样到的数据是随机的,所以适用于对采集到的数据没有限制的场景。针对HBase、MySQL、MaxCompute、DataHub、Kafka数据源支持自动抽样数据,您可单击自动抽样,进行抽样数据。

        说明
        • Kafka中支持json、csv、canal-json、maxwell-json、debezium-json数据格式的自动抽样。

        • Kafka自动抽样仅支持无认证用户名+密码认证方式,不支持SSL。

        • Kafka自动抽样时,支持选择读取数据范围,最大抽样条数为100条。

  4. 完成所有数据表的元数据采样后,单击的确定

  5. Result页面,即可查看调试结果

    • 手动上传数据(本地调试方式)

      gagag

离线模式调试

  1. 调试配置对话框的选择采样模式页签中,选择离线模式-FLINK Batch任务

    image.png

  2. 单击下一步

  3. 在调试配置对话框中,选择调试数据来源

    • 手动上传数据(本地调试方式)

      即通过本地调试方式手动上传数据进行调试。上传数据方式包括手动上传样例数据文件手动输入数据自动抽样数据

      • 手动上传样例数据文件

        您可以通过上传数据的方式,手动上传本地数据。上传本地数据前需要先下载样例,样例由Dataphin自动识别读写的表和表的schema信息生成的csv格式样例模板,您可根据下载的样例编辑需要上传的数据,单击上传后,数据自动填充至元数据采样区域。

      • 手动输入数据

        适用于采集的数据比较少,或者需要修改已采集到的数据的场景。

      • 自动抽样数据

        自动抽样到的数据是随机的,所以适用于对采集到的数据没有限制的场景。针对HBase、MySQL、MaxCompute、DataHub、Kafka数据源支持自动抽样数据,您可单击自动抽样,进行抽样数据。

        说明
        • Kafka中支持json、csv、canal-json、maxwell-json、debezium-json数据格式的自动抽样。

        • Kafka自动抽样仅支持无认证用户名+密码认证方式,不支持SSL。

        • Kafka自动抽样时,支持选择读取数据范围,最大抽样条数为100条。

  4. 完成所有数据表的元数据采样后,单击页面下方的确定

  5. Result页面,即可查看调试数据中间结果调试结果

    image.png

附录:自动抽样的调试数据

通过本地调试的自动抽样调试任务时,读取的调试数据根据元表的配置决定。详细说明如下:

  • 元表属性的任务调试时默认读取参数选中开发表

    • 若任务中使用的是Project_Name_dev.元表名,则自动抽取开发元表。如果数据源无开发元表,则不支持自动抽样

    • 若任务中使用的是Project_Name.元表名,则自动抽取生产元表。如果您没有生产环境元表权限,则会报错。请先申请生产表权限,请参见申请表权限

    • 若任务中使用的是${Project_Name}.元表名元表名,则自动抽取开发元表。如果数据源无开发元表,则不支持自动抽样

  • 元表的任务调试时默认读取参数选中生产表

    • 若任务中使用的是Project_Name_dev.元表名,则自动抽取开发表。如果数据源无开发元表,则不支持自动抽样

    • 若任务中使用的是Project_Name.元表名,则自动抽取生产元表。

    • 若任务中使用的是${Project_Name}.元表名元表名,系统将自动根据参数中的设置替换${project_name}变量。并根据参数的实际项目(开发或生产项目),确定使用生产元表还是开发元表;若未指定${project_name},则自动抽取生产元表。