Multi-level Partitioning
Reminders:
- Please read Access and Authentication REST API and understand how authentication works.
- On Curl command line, don't forget to quote the URL if it contains the special char
&.
Set partition columnâ
For multi-level partition model define partition column, please refer to Define Partition Column directly.
Add Sub-Partition valueâ
You can add it by specifying sub_partition_values when Load Segment directly or execute following API.
- 
POST http://host:port/kylin/api/models/{model_name}/segments/multi_partition/sub_partition_values
- 
URL Parameters - model_name-- required- string,model name.
 
- 
HTTP Body: JSON Object - 
project-requiredstring,project name.
- 
sub_partition_values-requiredarray,sub-partition values.
 
- 
- 
HTTP Header - Accept: application/vnd.apache.kylin-v4-public+json
- Accept-Language: en
- Content-Type: application/json;charset=utf-8
 
- 
Curl Request Example curl -X POST \
 http://host:port/kylin/api/models/multi_level_partition/segments/multi_partition/sub_partition_values \
 -H 'Accept: application/vnd.apache.kylin-v4-public+json' \
 -H 'Authorization: Basic QURNSU46S1lMSU4=' \
 -H 'Content-Type: application/json;charset=utf-8' \
 -d '{
 "project":"multi_level_partition",
 "sub_partition_values":[["5"]]
 }'
- 
Response Example {
 "code": "000",
 "data": "",
 "msg": ""
 }
Load Segmentâ
For building multi-level partition model, please refer directly to Load Segment API.
Build Sub-Partitionâ
- 
POST http://host:port/kylin/api/models/{model_name}/segments/multi_partition
- 
URL Parameters - model_name-- required- string,model name.
 
- 
HTTP Body: JSON Object - 
project-requiredstring,project name.
- 
segment_id-requiredstring,Segment id.
- 
sub_partition_values-requiredarray,sub-partition values.
- 
parallel_build_by_segment-optionalboolean, whether to build concurrently,the default value isfalse.
- 
build_all_sub_partitions-optionalbooleanwhether to build all sub-partition values,the default value isfalse.
- 
yarn_queue-optionalstring, specify the YARN queue used by the job, it can be set after these two parameters were set: kylin.engine-yarn.queue.in.task.enabled (whether to allow set specified YARN queue for build task, default value is false), kylin.engine-yarn.queue.in.task.available (available YARN queues, separate them with English commas)
- 
tag-optionalobject, job tag, if the field is set, when calling the Get Job List API, the field will be the same back when returning the job. It can be used for system integration, mark the job and deal with it accordingly. By default, the maximum size of value is 1024 KB , which can be set by the configure kylin.job.tag-max-size=1024.
 
- 
- 
HTTP Header - Accept: application/vnd.apache.kylin-v4-public+json
- Accept-Language: en
- Content-Type: application/json;charset=utf-8
 
- 
Curl Request Example curl -X POST \
 http://host:port/kylin/api/models/multi_partition_model/segments/multi_partition \
 -H 'Accept: application/vnd.apache.kylin-v4-public+json' \
 -H 'Authorization: Basic QURNSU46S1lMSU4=' \
 -H 'Content-Type: application/json;charset=utf-8' \
 -d '{
 "project": "multi_partition_project",
 "segment_id": "983904fa-d573-4944-acb8-558c59598a48",
 "sub_partition_values": [
 [
 "5"
 ]
 ],
 "parallel_build_by_segment": false,
 "build_all_sub_partitions": false
 }'
- 
Response Example {
 "code": "000",
 "data": {
 "jobs": [
 {
 "job_name": "SUB_PARTITION_BUILD",
 "job_id": "0282e2c9-63e3-46b0-85f6-6e74ca5bf984"
 }
 ]
 },
 "msg": ""
 }
Delete Sub-Partition value corresponding index dataâ
- 
DELETE http://host:port/kylin/api/models/segments/multi_partition
- 
URL Parameters - 
project-requiredstring,project name.
- 
model-requiredstring,model name.
- 
segment_id-requiredstring, Segment Id.
- 
sub_partition_values-requiredstring, sub-partition values.
 
- 
- 
HTTP Header - Accept: application/vnd.apache.kylin-v4-public+json
- Accept-Language: en
- Content-Type: application/json;charset=utf-8
 
- 
Curl Request Example curl -X DELETE \
 'http://host:port/kylin/api/models/segments/multi_partition?project=multi_partition_project&model=multi_partition_model&segment_id=ff839b0b-2c23-4420-b332-0df70e36c343&sub_partition_values=0,1' \
 -H 'accept: application/vnd.apache.kylin-v4-public+json' \
 -H 'authorization: Basic QURNSU46S1lMSU4=' \
 -H 'Content-Type: application/json;charset=utf-8' \
- 
Response Example {
 "code": "000",
 "data": "",
 "msg": ""
 }
Refresh the index data corresponding to the Sub-Partition valueâ
- 
PUT http://host:port/kylin/api/models/{model_name}/segments/multi_partition
- 
URL Parameters - model_name-- required- string,model name.
 
- 
HTTP Body: JSON Object - 
project-requiredstring,project name.
- 
segment_id-requiredstring,Segment id.
- 
sub_partition_values-requiredarray,sub-partition values.
- 
yarn_queue-optionalstring, specify the YARN queue used by the job, it can be set after these two parameters were set: kylin.engine-yarn.queue.in.task.enabled (whether to allow set specified YARN queue for build task, default value is false), kylin.engine-yarn.queue.in.task.available (available YARN queues, separate them with English commas)
- 
tag-optionalobject, job tag, if the field is set, when calling the Get Job List API, the field will be the same back when returning the job. It can be used for system integration, mark the job and deal with it accordingly. By default, the maximum size of value is 1024 KB , which can be set by the configure kylin.job.tag-max-size=1024.
 
- 
- 
HTTP Header - Accept: application/vnd.apache.kylin-v4-public+json
- Accept-Language: en
- Content-Type: application/json;charset=utf-8
 
- 
Curl Request Example curl -X PUT \
 http://host:port/kylin/api/models/SSB_LINEORDER/segments/multi_partition \
 -H 'accept: application/vnd.apache.kylin-v4-public+json' \
 -H 'authorization: Basic QURNSU46S1lMSU4=' \
 -H 'Content-Type: application/json;charset=utf-8' \
 -d '{"project":"default","segment_id":"60615c5e-2ae1-4ee9-b88d-f00f1f101a8a","sub_partition_values":[["1"], ["2"]]}'
- 
Response Example {
 "code": "000",
 "data": {
 "jobs": [
 {
 "job_name": "SUB_PARTITION_REFRESH",
 "job_id": "4fa1a0a1-6a97-4be9-bdf6-8957c5f80114"
 }
 ]
 },
 "msg": ""
 }
Get Segment Listâ
Please refer to Get Segment List for multi-level partition model to get Segment list.
Get Segment detailsâ
- 
GET http://host:port/kylin/api/models/{model_name}/segments/multi_partition
- 
URL Parameters - 
project-requiredstring, project name.
- 
segment_id-requiredstring, Segment Id.
- 
page_offset-optionalint, pagination page, the default value is 0.
- 
page_size-optionalint, page size, the default value is 10.
- 
model_name-requiredstring, model name.
 
- 
- 
HTTP Header - Accept: application/vnd.apache.kylin-v4-public+json
- Accept-Language: en
- Content-Type: application/json;charset=utf-8
 
- 
Curl Request Example curl -X GET \
 'http://host:port/kylin/api/models/multi_partition_model/segments/multi_partition?project=multi_partition_project&segment_id=ffdfc037-7c63-4499-986d-9b680276161e'Â \
 -H 'Accept: application/vnd.apache.kylin-v4-public+json' \
 -H 'Authorization: Basic QURNSU46a3lsaW5AMjAxOQ==' \
 -H 'Content-Type: application/json;charset=utf-8' \
- 
Response Example {
 "code": "000",
 "data": {
 "value": [
 {
 "id": 2,
 "values": [
 "3"
 ],
 "status": "ONLINE",
 "last_modified_time": 1609213843048,
 "source_count": 0,
 "bytes_size": 3747
 },
 {
 "id": 3,
 "values": [
 "4"
 ],
 "status": "ONLINE",
 "last_modified_time": 1609213843048,
 "source_count": 0,
 "bytes_size": 3747
 }
 ],
 "offset": 0,
 "limit": 10,
 "total_size": 2
 },
 "msg": ""
 }
Query mapping settingsâ
- 
PUT http://host:port/kylin/api/models/{model_name}/multi_partition/mapping
- 
URL Parameters - model_name-- required- string,model name.
 
- 
HTTP Body: JSON Object - 
project-requiredstring,project name.
- 
alias_columns-required,array<string>, The corresponding column name that the sub-partition column needs to be mapped to
- 
multi_partition_columns-required,array<string>, sub-partition column names
- 
value_mapping-required,array<object>, partition value mapping- 
origin-required,array<string>, sub-partition column value
- 
target-required,array<string>, sub-partition column value mapping value
 
- 
 
- 
- 
HTTP Header - Accept: application/vnd.apache.kylin-v4-public+json
- Accept-Language: en
- Content-Type: application/json;charset=utf-8
 
- 
Curl Request Example curl -X PUT \
 http://host:port/kylin/api/models/test_multi/multi_partition/mapping \
 -H 'Accept: application/vnd.apache.kylin-v4-public+json' \
 -H 'Authorization: Basic QURNSU46a3lsaW5AMjAxOQ==' \
 -H 'Content-Type: application/json;charset=utf-8' \
 -d '{
 "project": "multi_partition_project",
 "alias_columns": ["KYLIN_SALES.LEAF_CATEG_ID"],
 "multi_partition_columns": ["KYLIN_SALES.LSTG_SITE_ID"],
 "value_mapping": [
 {
 "origin": ["Beijing"],
 "target":["North"]
 },
 {
 "origin":["Shanghai"],
 "target":["South"]
 }
 ]
 }'
- 
Response Example {
 "code": "000",
 "data": "",
 "msg": ""
 }