全部产品
Search
文档中心

表格存储:OTSStreamReader常见问题

更新时间:Jul 22, 2024

本文介绍了OTSStreamReader运行时可能出现的问题,请根据实际问题排查处理错误。

OTSStreamReader运行时出现“Must set date or time range millis or time range string, please check your config”错误

  • 问题现象

    OTSStreamReader运行时出现“Must set date or time range millis or time range string, please check your config”错误,如下图所示。

    fig_setdate

  • 可能原因

    OTSStreamReader配置脚本中缺少增量数据时间范围的配置。

  • 解决方案

    请通过以下方式配置增量数据范围。

    • 通过parameter.date参数配置导出数据的日期。

    • 通过parameter.startTimestampMillisparameter.endTimestampMillis参数分别配置开始导出的时间点和结束导出的时间点。

    关于增量数据范围配置的更多信息,请参见同步增量数据到OSS

OTSStreamReader运行时出现“The stream of data table is not enabled”错误

  • 问题现象

    OTSStreamReader运行时出现“The stream of data table is not enabled”错误,如下图所示。fig_datatablestream

  • 可能原因

    OTSStreamReader中配置的表格存储数据表(parameter.table)未开启Stream。

  • 解决方案

    请通过以下方式为OTSStreamReader中配置的表格存储数据表开启Stream。

    • 登录表格存储控制台后,在目标数据表的表管理页面中实时消费通道页签,开启Stream。fig_streamopen

    • 通过不同SDK调用UpdateTable接口修改数据表属性。更多信息,请参见UpdateTable

OTSStreamReader运行时出现“As expiration time is xx, so the start timestamp must greater than xx”错误

  • 问题现象

    OTSStreamReader运行时出现“As expiration time is xx, so the start timestamp must greater than xx”错误,如下图所示。

    fig_greaterthan

  • 可能原因

    OTSStreamReader读取的增量日志存在过期时长,startTime参数配置错误。

  • 解决方案

    同步脚本中配置的startTime必须大于任务启动时间-日志过期时长+10分钟

    请登录表格存储控制台后,在目标数据表的表管理页面中基本详情页签,查看日志过期时长。

OTSStreamReader运行时出现“To avoid timing error between different machines, the end timestamp must smaller than xx”错误

  • 问题现象

    OTSStreamReader运行时出现“To avoid timing error between different machines, the end timestamp must smaller than xx”错误,如下图所示。fig_smallerthan

  • 可能原因

    endTime参数配置错误。

  • 解决方案

    同步脚本中配置的endTime必须小于任务启动时间 - 5分钟

OTSStreamReader运行时出现“The item of column must be map object”错误

  • 问题现象

    OTSStreamReader运行时出现“The item of column must be map object”错误,示例如下:

    [code:OTSStreamReaderError,messageOTSStreamReaderError]-com.alibaba.datax.plugin.reader.otsstreamreader.internal.OTSStreamReaderException:Parsecolumnfail,pleasecheckyourconfig.-com.alibaba.datax.plugin.reader.otsstreamreader.internal.OTSStreamReaderException:Parsecolumnfail,pleasecheckyourconfig.
    atcom.alibaba.datax.plugin.reader.otsstreamreader.internal.config.OTSStreamReaderConfig.parseConfigForSingleVersionAndUpdateOnlyMode(OTSStreamReaderConfig.java:178)
    atcom.alibaba.datax.plugin.reader.otsstreamreader.internal.config.OTSStreamReaderConfig.load(OTSStreamReaderConfig.java:267)
    atcom.alibaba.datax.plugin.reader.otsstreamreader.internal.OTSStreamReader$Job.init(OTSStreamReader.java:30)
    atcom.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:1083)
    atcom.alibaba.datax.core.job.JobContainer.init(JobContainer.java:497)
    atcom.alibaba.datax.core.job.JobContainer.start(JobContainer.java:220)
    atcom.alibaba.datax.core.Engine.start(Engine.java:100)
    atcom.alibaba.datax.core.Engine.entry(Engine.java:318)
    atcom.alibaba.datax.core.Engine.main(Engine.java:351)
    Causedby:java.lang.IllegalArgumentException:Theitemofcolumnmustbemapobject,pleasecheckyourinput.
  • 可能原因

    OTSStreamReader中parameter.column配置的格式错误。

  • 解决方案

    请确保parameter.column的配置正确。配置示例如下:

    • 错误示例

      "column":[
        "col1",
        "col2"
      ]
    • 正确示例

      "column":[
        {
      
           "name" : "col1"
      
        },
        {
      
           "name" : "col2"
      
        }
      ]