本文介紹了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”錯誤,如下圖所示。
可能原因
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”錯誤,如下圖所示。
可能原因
OTSReader指令碼中Split配置錯誤。不支援將Split配置為如下格式JSON:
"split": [ { "type": "INF_MIN" }, { "type": "INF_MAX" } ]
解決方案
刪除OTSReader指令碼中的Split配置。
重新設定Split。具體操作,請參見使用Tablestore(OTS)Reader同步全量資料時如何配置Split。
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”錯誤,如下圖所示。
可能原因
OTSReader指令碼中的column配置錯誤。錯誤配置樣本如下:
"column": [ "id", "name", "age" ]
解決方案
請確保OTSReader指令碼中的column配置正確。正確配置樣本如下:
"column": [ { "name": "id" }, { "name": "name" }, { "name": "age" } ]