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": ""
+  }
+  ```
+

Reply via email to