实时计算开发平台为您提供了一套本地调试环境,您可以在本地调试环境中上传自定义数据、模拟作业运行、检查输出结果,最终验证业务逻辑的正确性。

本地调试环境的特点

本地调试环境与生产环境完全隔离。本地调试环境中,所有的Flink SQL在独立的调试容器中运行,调试结果输出至调试环境页面,不会对线上生产流、线上实时计算作业或线上数据存储系统造成影响。
说明 实时计算调试模式无法检查出,数据存储中数据格式兼容性问题而导致的运行失败。例如,调试模式无法检查出输出数据长度大于RDS建表最大值的问题。


本地调试步骤

说明 进行作业调试前,请您先完成作业的开发。作业开发流程请参见开发流程
  1. 在目标作业开发编辑区域,单击页面顶部的调试

  2. 作业调试页面,输入测试数据。本地调试提供2种调试数据输入方式:
    • 本地上传方式
      1. 数据预览区域,单击下载模板
      2. 根据模板,编辑自定义调试数据。
        说明 调试数据的默认分隔符为逗号,如果需要自定义分隔符请参见调试数据分隔符
      3. 数据预览区域,单击上传 ,上传自定义调试数据。
    • 线上抽样方式
      说明 使用顺序抽样线上数据功能前,请确保数据源在抽取时间段存在数据。
      1. 数据预览区域,单击随机抽样线上数据顺序抽样线上数据
      2. 输入抽样配置信息。
      3. 单击确认
    说明 数据上传成功后,可在数据预览区域查看已上传数据。
  3. 单击确定,启动调试。
  4. 在作业编辑区域的底部,查看调试输出结果。

调试数据分隔符

调试数据默认使用逗号(,)作为分隔符,如果输入的数据内容(例如JSON文件)中已存在逗号(,),您需要自定义其它字符(例如竖线(|))作为调试数据的分隔符。

说明 实时计算仅支持使用单个英文字符(例如竖线(|))为分隔符。不支持使用字符串(例如aaa)作为分隔符。
调试数据分隔符的配置步骤如下:
说明 配置数据分隔符前,请您先完成作业的开发。作业开发流程请参见开发流程
  1. 在作业编辑区域,单击右侧的作业参数

  2. 在作业参数编辑区域,输入调试数据分隔符的配置参数。配置分隔符为|的示例代码如下。
    debug.input.delimiter = |

本地调试UDX的日志输出

  • 本地调式时打印UDX中日志
    在Java中通过以下方法,将日志的格式转换为实时计算可解析的格式,并打印本地调试的UDX日志。
    public static void debugMsgOutput(String msg) {
        System.out.println(
          String.format("{\"type\":\"log\",\"level\": \"INFO\", \"time\": \"%s\", \"message\": \"%s\", \"throwable\": \"null\"}\n",new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()), msg));
    }
  • 查看UDX的日志输出
    调试结束后,在作业编辑区域底部的运行结束页面,可以查看UDX的日志输出。

    说明 您可以通过快键Ctrl➕F的方式搜索相应的日志信息。