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

报错:Table 'database.table' doesn't exist

  • 报错信息
    说明 报错中database.table指代具体数据库名和表名。
    doesn’t exist
  • 报错原因

    数据库中不存在作业中声明的表。

  • 解决方案
    • 检查数据存储中的表是否引用成功。如果不成功,请再次尝试或手动输入。
    • 检查您的数据库中是否存在报错信息中的表,如果没有,请自行创建。
      说明 阿里云实时计算不具有数据存储功能,所有涉及表创建的DDL操作,都是对外部数据表、存储的引用声明。

报错:Could not forward element to next operator,null pointer Exception.

  • 报错信息Could not forward element to
  • 报错原因

    数据源端存在NULL值。

  • 解决方案
    使用计算列过滤NULL值。通常Watermark里的Event time时间字段里存在NULL值。
    ts as case when `datetime` is null 
    then timestamp '1970-01-01 00:00:00' 
    else `datetime` end        

报错:ERROR in next method The response is not valid json

  • 报错信息 sls
  • 报错原因

    SLS发生了网络震荡,导致连接实时计算失败。

  • 解决方案

    重新启动作业。如果还是报错,请您提交工单

报错:ERROR in next method AccessKeyId STS.NK1p3aqjkkagcUHiTpcVMU5 is inactive.

  • 报错信息ERROR in next method AccessKeyId
  • 报错原因

    SLS的Token过期。

  • 解决方案

    设置参数stsUpdateSeconds='3600'

报错:获取数据超时,请重试或尝试手动编辑

  • 报错信息timeout
  • 报错原因
    • 自定义表的参数传入失败。
    • 由于Case When判断过多,需要加长编译时间。
  • 解决方案
    • 检查自定义表的参数是否传入成功。
    • 在作业参数中配置blink.job.submit.timeoutInSeconds参数(默认为30s,可以适当增加,但不能超过90s)。

警告:WARNING(不影响当前流程)

  • 警告详情
    • 详情1warning1
    • 详情2warning2
  • 警告原因
    • 详情1
      • 因为上游Shard的限制,所以并发不能扩展到30。
      • 因为取不到上一次对应时间点的指标曲线,所以使用了上一次的资源配置,即本次调优实际并没有生效。
    • 详情2

      可能是在不更新配置的情况下更新了应用程序,或者对配置的修改不正确,导致与作业资源配置不匹配。

  • 解决方案
    • 详情1

      不影响作业运行,可以直接上线运行该作业。

    • 详情2

      重新获取配置信息后,反复执行上线 > 调优