This is an automated email from the ASF dual-hosted git repository. xxyu pushed a commit to branch doc5.0 in repository https://gitbox.apache.org/repos/asf/kylin.git
The following commit(s) were added to refs/heads/doc5.0 by this push: new 9262625451 KYLIN-5604, KYLIN-5598 Documentation (#2133) 9262625451 is described below commit 92626254519354a710db361ee9644f4b9494a5fe Author: huangsheng <huangshen...@163.com> AuthorDate: Wed Jul 5 15:18:11 2023 +0800 KYLIN-5604, KYLIN-5598 Documentation (#2133) * KYLIN-5604 open api add aggregation groups * KYLIN-5598 zookeeper ACL setting * KYLIN-5604, KYLIN-5598 fix typo --- website/docs/quickstart/deploy_kylin.md | 19 +++++ .../docs/restapi/model_api/model_management_api.md | 89 ++++++++++++++++++++++ 2 files changed, 108 insertions(+) diff --git a/website/docs/quickstart/deploy_kylin.md b/website/docs/quickstart/deploy_kylin.md index cc42547fc2..776dc009ec 100644 --- a/website/docs/quickstart/deploy_kylin.md +++ b/website/docs/quickstart/deploy_kylin.md @@ -130,6 +130,25 @@ In the `conf` directory under the root directory of the installation package, yo kylin.env.zookeeper-connect-string=10.1.2.1:2181,10.1.2.2:2181,10.1.2.3:2181 ``` + If you use ACL for Zookeeper, need setting the follow configuration + + | Properties | Description | + | ------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------| + | kylin.env.zookeeper-acl-enabled | Whether to enable Zookeeper ACL. The default value is disabled. | + | kylin.env.zookeeper.zk-auth | The user password and authentication method used by Zookeeper. The default value is empty. | + | kylin.env.zookeeper.zk-acl | ACL permission setting. The default value is `world:anyone:rwcda`. By default, all users can perform all operations. | + + If you need to encrypt kylin.env.zookeeper.zk-auth , you can do it like this: + + **i.** run following commands in ${KYLIN_HOME}, it will print encrypted value + ``` + ./bin/kylin.sh org.apache.kylin.tool.general.CryptTool -e AES -s <value> + ``` + **ii.** config kylin.env.zookeeper.zk-auth like this + ``` + kylin.env.zookeeper.zk-auth=ENC('${encrypted_value}') + ``` + 4. (optional) Configure Spark Client node information Since Spark is started in yarn-client mode, if the IP information of Kylin is not configured in the hosts file of the Hadoop cluster, please add the following configurations in `kylin.properties`: `kylin.storage.columnar.spark-conf.spark.driver.host={hostIp}` diff --git a/website/docs/restapi/model_api/model_management_api.md b/website/docs/restapi/model_api/model_management_api.md index 79f997e4f2..a287fc2d7e 100644 --- a/website/docs/restapi/model_api/model_management_api.md +++ b/website/docs/restapi/model_api/model_management_api.md @@ -1178,3 +1178,92 @@ curl -X GET \ </datasource> ``` +### Add aggregate groups + +- `PUT http://host:port/kylin/api/index_plans/agg_groups` + +- Introduced in: 5.0 + +- HTTP Header + + - `Accept: application/vnd.apache.kylin-v4-public+json` + - `Accept-Language: en` + - `Content-Type: application/json;charset=utf-8` + +- HTTP Body: JSON Object + + - `project` - `required` `string`, project name + - `model` - `required` `string`, model name + - `aggregation_groups` - `required` `JSON Object[]`, agg group json array, can add multiple agg groups + - `dimensions` - `required` `array[string]`, dimension array, must be in database.table format, and the added dimension must have been added as a dimension in the model + - `measures` - `optional` `array[string]`, measure array, the added measure name is the measure name defined in the model, case-sensitive + - `mandatory_dims` - `optional` `array[string]`, mandatory dimension array, the dimensions that must be included in the index generated by the aggregate group + - `hierarchy_dims` - `optional` `array[array[string]]`, hierarchy dimension array, the dimensions that can be optimized according to the hierarchical relationship in the index generated by the aggregate group, a set of hierarchy dimensions in an array + - `joint_dims` - `optional` `array[array[string]]`, joint dimension array, the dimensions that must also be included in the index generated by the aggregate group, a set of joint dimensions in an array + > **NOTICE**: `mandatory_dims` 、`hierarchy_dims` 、`joint_dims` must be in `dimensions`, and any dimension can only be set once in mandatory dimension, hierarchy dimension or joint dimension. + - `dim_cap` - `optional` `int`, Maximum number of dimension combinations(MDC) for a single aggregate group, positive integer + - `global_dim_cap` - `optional` `int`, global MDC in this request, priority global_dim_cap < dim_cap + - `restore_deleted_index` - `optional` `boolean`, When the indexes generated by the aggregate group have been deleted, whether to generate these indexes again when adding the aggregate group, the default is false, which means not to add. + +- Curl Request Example + + ```sh + curl -X PUT \ + 'http://localhost:7070/kylin/api/index_plans/agg_groups' \ + -H 'Accept: application/vnd.apache.kylin-v4-public+json' \ + -H 'Accept-Language: cn' \ + -H 'Authorization: Basic QURNSU46S1lMSU4=' \ + -H 'Content-Type: application/json;charset=utf-8' + -d '{"project":"ssb", + "model":"testNewName", + "aggregation_groups":[ + { + "dimensions":[ + "CUSTOMER_DETAILS.IMei", + "CUSTOMER_DETAILS.REGION", + "CUSTOMER_DETAILS.BALANCE" + ], + "measures":[ + "ME2" + ], + "mandatory_dims":[ + "CUSTOMER_DETAILS.reGION" + ], + "hierarchy_dims":[ + [ + "CUSTOMER_DETAILS.Imei" + ] + ], + "joint_dims":[ + [ + "CUSTOMER_DETAILS.BALANCE" + ] + ], + "dim_cap": 4 + } + ], + "global_dim_cap":3, + "restore_deleted_index":false + }' + ``` + +- Response Details + - code - string, response code, succeed: 000, failed: 999 + - removed_layouts_size - The number of indexes to delete + - added_layouts_size - The number of indexes to add + - recovered_layouts_size - The number of deleted indexes in the generated indexes, when restore_deleted_index = true, these indexes will be added + +- Response Example + + ```json + { + "code": "000", + "data": { + "removed_layouts_size": 0, + "added_layouts_size": 3, + "recovered_layouts_size": 0 + }, + "msg": "" + } + ``` +