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

OTSReader运行时出现“Input size of values not equal size of primary key. input size: xx, primary key size: xx”错误

  • 问题现象
    OTSReader运行时出现“Input size of values not equal size of primary key. input size: xx, primary key size: xx”错误,如下图所示。fig_otsreader
  • 可能原因

    OTSReader脚本中配置的主键个数与Tablestore数据表中的主键个数不一致。

  • 解决方案

    首先查看读取的Tablestore数据表Schema,确认主键个数,然后确保OTSReader脚本中配置的主键个数与Tablestore数据表中的主键个数一致。

    假设Tablestore数据表有两个主键列,以全表同步为例,则OTSReader中应该配置的range范围如下:
    "range": {
      "begin": [
        {
          "type": "INF_MIN"
        },
        {
          "type": "INF_MIN"
        }
      ],
      "end": [
        {
          "type": "INF_MAX"
        },
        {
          "type": "INF_MAX"
        }
      ]
    }

OTSReader运行时出现“Input type of 'range-split' not match partition key. Item of 'range-split' type:xx, Partition type:xx”错误

  • 问题现象
    OTSReader运行时出现“Input type of 'range-split' not match partition key. Item of 'range-split' type:xx, Partition type:xx”错误,如下图所示。fig_spiterror
  • 可能原因
    OTSReader脚本中Split配置错误。不支持配置Split为如下格式JSON:
    "split": [
      {
        "type": "INF_MIN"
      },
      {
      "type": "INF_MAX"
      }
    ]
  • 解决方案

OTSReader运行时出现“Invalid 'column', Can not parse Object to 'OTSColumn', item of list is not a map”错误

  • 问题现象
    OTSReader运行时出现“Invalid 'column', Can not parse Object to 'OTSColumn', item of list is not a map”错误,如下图所示。fig_columnerror
  • 可能原因
    OTSReader脚本中的column配置错误。错误配置示例如下:
    "column": [
      "id",
      "name",
      "age"
    ]
  • 解决方案
    请确保OTSReader脚本中的column配置正确。正确配置示例如下:
    "column": [
      {
        "name": "id"
      },
      {
        "name": "name"
      },
      {
        "name": "age"
      }
    ]