本文汇总了实时计算调试常见报错与解决方案。

报错:Query result field length not match TableSink analysis_result field length.

  • 报错信息Query result field length not match
  • 报错原因

    查询结果字段长度与结果表字段长度不匹配。

  • 解决方法
    • 调整INSERT语句中的字段数量,与结果表一致。
    • 调整INSERT语句中插入的字段数据类型和字段顺序,与结果表一致。
    • 如果使用前两种方法排查后,仍然报错,请使用二分法定位问题。

报错:Cannot apply 'EXTRACT' to arguments of type 'EXTRACT(<INTERVAL HOUR> FROM <CHAR(19)>)'

  • 报错信息 Cannot apply 'EXTRACT' to
  • 报错原因

    EXTRACT函数的参数类型使用不正确。

  • 解决方案

    使用正确的EXTRACT函数参数类型,详情请参见EXTRACT

报错:originated by DoubleParser:NUMERIC_VALUE_FORMAT_ERROD.

  • 报错信息
    在DataHub中存在NULL值时,如果从DataHub里抽取数据,报错如下。originated by DoubleParser
  • 报错原因
    CSV文件会把NULL值转化为字符串NULL,系统在处理NULL时,发现记录类型与字符类型不一致,就会提示格式转换错误。在抽取DataHub数据作为样本调试时,通常会出现此错误,如果项目正式上线,则不会出现类似于下图的错误。null
  • 解决方案
    • 过滤DataHub中NULL值。
    • 处理NULL为您期望的值。例如,使用CASE WHEN函数处理NULL值。

报错:Query result field type(s) not match TableSink T2 field type(s)

  • 报错信息2(1)
  • 报错原因

    类型转换异常。

  • 解决方案

    查看INSERT语句中的数据类型和结果表声明的数据类型是否一致。

报错:检测到调试数据与schema字段数量不符

  • 报错信息 错误详情
  • 报错原因

    在调试时,默认使用逗号分隔字段,如果您的数据中存在JSON数据,则数据会被解析成多个字段。

  • 解决方案
    设置分隔符为非逗号。
    debug.input.delimiter= |          

报错:操作错误,所有数据均被跳过,请检查DDL中的LENGTHCHECK项

  • 报错信息 3
  • 错误原因

    源表中存在脏数据,导致无法抽取到任何线上数据。

  • 解决方法

    在源表的WITH参数中增加lengthcheck='PAD'语句。