該配置項屬于進階配置項,是使用者自己定義切配置設定置資訊,普通情況下不建議使用者使用。
适用場景通常在OTS資料存儲發生熱點,使用OTSReader自動切分的政策不能生效情況下,使用使用者自定義的切分規則。split指定是的在Begin、End區間内的切分點,且隻能是partitionKey的切分點資訊,即在split僅配置partitionKey,而不需要指定全部的PrimaryKey。
例如對一張主鍵為id01、id02的OTS進行抽取任務,主鍵是資料0~90可以配置為:
{
"job": {
"setting": {
"speed": {
"byte": 1048576
},
"errorLimit": {
"record": 0,
"percentage": 0.02
}
},
"content": [
{
"reader": {
"name": "otsreader-internal",
"parameter": {
"mode": "multiVersion",
"endpoint": "http://datax-internal.cn-hangzhou.ots.aliyuncs.com/",
"accessId": "xxxxxxxxxxxxxxxx",
"accessKey": "yyyyyyyyyyyyyy",
"instanceName": "datax-internal",
"table": "datax_ots_reader_internal_test_table",
"range": {
"begin": [
{
"type": "INF_MIN",//主鍵id01最小值
"value": ""
},
{
"type": "INF_MIN",//主鍵id02最小值
"value": ""
}
],
"end": [
{
"type": "INF_MAX",//指定 id01 抽取最大值
"value": ""
},
{
"type": "INF_MIN",//指定 id02 抽取最大值
"value": ""
}
],
"split": [
// 使用者指定的切分點,如果指定了切分點,Job 将按照 begin、end 和 split 進行 Task 的切分,
// 切分的列隻能是 Partition Key(ParimaryKey 的第一列)
// 支援 INF_MIN, INF_MAX, STRING, INT
{
"type": "int",
"value": "30"
},
{
"type": "int",
"value": "60"
},
{
"type": "int",
"value": "90"
}
]
},
"column": [
{
"name": "name"
},
{
"name": "mobile"
},
{
"name": "age"
},
{
"name": "salary"
},
{
"name": "marry"
}
]
}
},
"writer": {
"name": "txtfilewriter",
"parameter": {}
}
}
]
}
}