すべてのプロダクト
Search
ドキュメントセンター

Tablestore:Tablestore リーダーの実行中に発生する可能性のあるエラー

最終更新日:Jun 21, 2026

このトピックでは、Tablestore リーダーの実行中に発生する可能性のあるエラーとそのトラブルシューティング方法について説明します。

エラーメッセージ:「Input size of values not equal size of primary key. input size: xx, primary key size: xx」

  • 問題の説明

    Tablestore リーダーのジョブを実行すると、「Input size of values not equal size of primary key. input size: xx, primary key size: xx」 というエラーメッセージが表示されます。

    com.alibaba.datax.common.exception.DataXException: com.alibaba.datax.plugin.reader.otsreader.OtsReaderError@76f4b65 - IllegalArgumentException[ErrorMessage:Input size of values not equal size of primary key. input size:2, primary key size:1 .] - java.lang.IllegalArgumentException: Input size of values not equal size of primary key. input size:2, primary key size:1 .
    	at com.alibaba.datax.plugin.reader.otsreader.utils.ParamChecker.checkInputPrimaryKeyAndGet(ParamChecker.java:119)
    	at com.alibaba.datax.plugin.reader.otsreader.utils.ParamChecker.checkRangeAndGet(ParamChecker.java:151)
    	at com.alibaba.datax.plugin.reader.otsreader.OtsReaderMasterProxy.init(OtsReaderMasterProxy.java:86)
    	at com.alibaba.datax.plugin.reader.otsreader.OtsReader$Job.init(OtsReader.java:34)
    	at com.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:1085)
    	at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:497)
    	at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:220)
    	at com.alibaba.datax.core.Engine.start(Engine.java:100)
    	at com.alibaba.datax.core.Engine.entry(Engine.java:321)
    	at com.alibaba.datax.core.Engine.main(Engine.java:354)
    	at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:41)
    	at com.alibaba.datax.plugin.reader.otsreader.OtsReader$Job.init(OtsReader.java:47)
    	at com.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:1085)
    	at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:497)
    	at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:220)
    	at com.alibaba.datax.core.Engine.start(Engine.java:100)
    	at com.alibaba.datax.core.Engine.entry(Engine.java:321)
  • 考えられる原因

    Tablestore リーダーのスクリプトで指定されたプライマリキー列の数と、Tablestore データテーブルのプライマリキー列の数が異なっています。

  • 解決策

    Tablestore データテーブルのスキーマを確認し、データテーブル内のプライマリキー列の数を取得してから、取得した値を Tablestore リーダーのスクリプトでプライマリキー列の数として設定してください。

    たとえば、Tablestore データテーブルに 2 つのプライマリキー列が含まれており、テーブル内のすべてのデータを同期するとします。 次のサンプルコードは、Tablestore リーダーのスクリプトでプライマリキー列の数を指定する方法を示しています。

    "range": {
      "begin": [
        {
          "type": "INF_MIN"
        },
        {
          "type": "INF_MIN"
        }
      ],
      "end": [
        {
          "type": "INF_MAX"
        },
        {
          "type": "INF_MAX"
        }
      ]
    }

エラーメッセージ:「Input type of 'range-split' not match partition key. Item of 'range-split' type:xx, Partition type:xx」

  • 問題の説明

    Tablestore リーダーのジョブを実行すると、「Input type of 'range-split' not match partition key. Item of 'range-split' type:xx, Partition type:xx」 というエラーメッセージが表示されます。

    com.alibaba.datax.common.exception.DataXException: com.alibaba.datax.plugin.reader.otsreader.OtsReaderError@22f31dec - IllegalArgumentException[ErrorMessage:Input type of 'range-split' not match partition key. Item of 'range-split' type:null, Partition type:STRING] - java.lang.IllegalArgumentException: Input type of 'range-split' not match partition key. Item of 'range-split' type:null, Partition type:STRING
    	at com.alibaba.datax.plugin.reader.otsreader.utils.ParamChecker.checkInputSplitPoints(ParamChecker.java:231)
    	at com.alibaba.datax.plugin.reader.otsreader.OtsReaderMasterProxy.init(OtsReaderMasterProxy.java:92)
    	at com.alibaba.datax.plugin.reader.otsreader.OtsReader$Job.init(OtsReader.java:34)
    	at com.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:1085)
    	at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:497)
    	at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:220)
    	at com.alibaba.datax.core.Engine.start(Engine.java:100)
    	at com.alibaba.datax.core.Engine.entry(Engine.java:321)
    	at com.alibaba.datax.core.Engine.main(Engine.java:354)
    	at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:41)
    	at com.alibaba.datax.plugin.reader.otsreader.OtsReader$Job.init(OtsReader.java:47)
    	at com.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:1085)
    	at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:497)
    	at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:220)
    	at com.alibaba.datax.core.Engine.start(Engine.java:100)
    	at com.alibaba.datax.core.Engine.entry(Engine.java:321)
    	at com.alibaba.datax.core.Engine.main(Engine.java:354)
  • 考えられる原因

    Tablestore リーダーのスクリプトで分割点が正しく設定されていません。 次のサンプルコードは、分割点が正しく設定されていない例です。

    "split": [
      {
        "type": "INF_MIN"
      },
      {
      "type": "INF_MAX"
      }
    ]
  • 解決策

エラーメッセージ:「Invalid 'column', Can not parse Object to 'OTSColumn', item of list is not a map」

  • 問題の説明

    Tablestore リーダーのジョブを実行すると、「Invalid 'column', Can not parse Object to 'OTSColumn', item of list is not a map」 というエラーメッセージが表示されます。

    com.alibaba.datax.common.exception.DataXException: com.alibaba.datax.plugin.reader.otsreader.OtsReaderError@64bce832 – IllegalArgumentException[ErrorMessage:Invalid 'column', Can not parse Object to 'OTSColumn', item of list is not a map.] – java.lang.IllegalArgumentException: Invalid 'column', Can not parse Object to 'OTSColumn', item of list is not a map.
            at com.alibaba.datax.plugin.reader.otsreader.utils.ReaderModelParser.parseOTSColumnList(ReaderModelParser.java:104)
            at com.alibaba.datax.plugin.reader.otsreader.OtsReaderMasterProxy.init(OtsReaderMasterProxy.java:80)
            at com.alibaba.datax.plugin.reader.otsreader.OtsReader$Job.init(OtsReader.java:34)
            at com.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:1085)
            at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:497)
            at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:220)
            at com.alibaba.datax.core.Engine.start(Engine.java:100)
            at com.alibaba.datax.core.Engine.entry(Engine.java:321)
            at com.alibaba.datax.core.Engine.main(Engine.java:354)
            at com.alibaba.datax.common.exception.DataXException.asDataXException(DataXException.java:41)
            at com.alibaba.datax.plugin.reader.otsreader.OtsReader$Job.init(OtsReader.java:47)
            at com.alibaba.datax.core.job.JobContainer.initJobReader(JobContainer.java:1085)
            at com.alibaba.datax.core.job.JobContainer.init(JobContainer.java:497)
            at com.alibaba.datax.core.job.JobContainer.start(JobContainer.java:220)
            at com.alibaba.datax.core.Engine.start(Engine.java:100)
            at com.alibaba.datax.core.Engine.entry(Engine.java:321)
            at com.alibaba.datax.core.Engine.main(Engine.java:354)
  • 考えられる原因

    Tablestore リーダーのスクリプトで列パラメーターが正しく指定されていません。 次のサンプルコードは、列パラメーターが正しく指定されていない例です。

    "column": [
      "id",
      "name",
      "age"
    ]
  • 解決策

    Tablestore リーダーのスクリプトで列パラメーターが正しく指定されていることを確認してください。 次のサンプルコードは、列パラメーターを指定する方法を示しています。

    "column": [
      {
        "name": "id"
      },
      {
        "name": "name"
      },
      {
        "name": "age"
      }
    ]