morningman commented on a change in pull request #2764: [Doc] Add en doc for 
dynamic partition feature
URL: https://github.com/apache/incubator-doris/pull/2764#discussion_r366418806
 
 

 ##########
 File path: docs/documentation/en/administrator-guide/dynamic-partition_EN.md
 ##########
 @@ -0,0 +1,182 @@
+<!-- 
+Licensed to the Apache Software Foundation (ASF) under one
+or more contributor license agreements.  See the NOTICE file
+distributed with this work for additional information
+regarding copyright ownership.  The ASF licenses this file
+to you under the Apache License, Version 2.0 (the
+"License"); you may not use this file except in compliance
+with the License.  You may obtain a copy of the License at
+
+  http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing,
+software distributed under the License is distributed on an
+"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+KIND, either express or implied.  See the License for the
+specific language governing permissions and limitations
+under the License.
+-->
+
+# Dynamic Partition
+
+Dynamic partition is a new feature introduced in Doris verion 0.12. It's 
designed to manage partition's Time-to-Life (TTL), reducing the burden on users.
+
+The original design, implementation and effect can be referred to [ISSUE 
2262](https://github.com/apache/incubator-doris/issues/2262)。
+
+Currently, the function of adding partitions dynamically is implemented, and 
the next version will support removing partitions dynamically.
+
+## Noun Interpretation
+
+* FE: Frontend, the front-end node of Doris. Responsible for metadata 
management and request access.
+* BE: Backend, Doris's back-end node. Responsible for query execution and data 
storage.
+
+## Principle
+
+In some scenarios, the user will create partitions for the table according to 
the day and perform routine tasks regularly every day.In this case, the user 
needs to manually manage the partition, otherwise the data import may fail 
because the partition is forgot to create, which brings additional maintenance 
costs to the user.
+
+The design of implementation is that FE will starts a background thread that 
determines whether or not to start the thread and the scheduling frequency of 
the thread based on the parameters' dynamic_partition_enable 'and' 
dynamic_partition_check_interval_seconds' in fe.conf.
+
+When create a olap table, the dynamic_partition properties will be assigned, 
FE will parse dynamic_partition properties and check the legitimacy of the 
input parameters firstly, and then persist the properties to FE metadata, 
register the table to the list of dynamic partition at the same time. Daemon 
thread will scan the dynamic partition list periodically according to the 
configuration parameters, 
+read dynamic partition properties of the table, and doing the task of adding 
partitions. The scheduling information of each time will be kept in the memory 
of FE. You can check whether the scheduling task is successful through `SHOW 
DYNAMIC PARTITION TABLES`.
+
+## Usage
+
+### Establishment of tables
+
+When creating a table, you can specify the attribute `dynamic_partition` in 
`PROPERTIES`, which means that the table is a dynamic partition table.
+    
+Examples:
+
+```
+CREATE TABLE example_db.dynamic_partition
+(
+k1 DATE,
+k2 INT,
+k3 SMALLINT,
+v1 VARCHAR(2048),
+v2 DATETIME DEFAULT "2014-02-04 15:36:00"
+)
+ENGINE=olap
+DUPLICATE KEY(k1, k2, k3)
+PARTITION BY RANGE (k1)
+(
+PARTITION p1 VALUES LESS THAN ("2014-01-01"),
+PARTITION p2 VALUES LESS THAN ("2014-06-01"),
+PARTITION p3 VALUES LESS THAN ("2014-12-01")
+)
+DISTRIBUTED BY HASH(k2) BUCKETS 32
+PROPERTIES(
+"storage_medium" = "SSD",
+"dynamic_partition.enable" = "true"
+"dynamic_partition.time_unit" = "DAY",
+"dynamic_partition.end" = "3",
+"dynamic_partition.prefix" = "p",
+"dynamic_partition.buckets" = "32"
+ );
+```
+Create a dynamic partition table, specify enable dynamic partition features, 
take today is 2020-01-08 for example, at every time of scheduling, will create 
today and after 3 days in advance of four partitions 
+(if the partition is existed, the task will be ignored), partition name 
respectively according to the specified prefix ` p20200108 ` ` p20200109 ` ` 
p20200110 ` ` p20200111 `, each partition to 32 the number of points barrels, 
each partition scope is as follows:
+```
+[types: [DATE]; keys: [2020-01-08]; ‥types: [DATE]; keys: [2020-01-09]; )
+[types: [DATE]; keys: [2020-01-09]; ‥types: [DATE]; keys: [2020-01-10]; )
+[types: [DATE]; keys: [2020-01-10]; ‥types: [DATE]; keys: [2020-01-11]; )
+[types: [DATE]; keys: [2020-01-11]; ‥types: [DATE]; keys: [2020-01-12]; )
+```
+    
+### Enable Dynamic Partition Feature
+
+1. First of all, `dynamic_partition_enable=true` needs to be set in fe.conf, 
which can be specified by modifying the configuration file when the cluster 
starts up, or dynamically modified by HTTP interface at run time
+
+2. If you need to add dynamic partitioning properties to a table prior to 
version 0.12, you need to modify the properties of the table with the following 
command
 
 Review comment:
   ```suggestion
   2. If you need to add dynamic partitioning properties to a table prior to 
version 0.12, you need to modify the properties of the table with the following 
command
   
   ```

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to