表达式分区(推荐)
自 v3.0 起,StarRocks 支持表达式分区(原称自动创建分区),更加灵活易用,适用于大多数场景,比如按照连续日期范围或者枚举值来查询和管理数据。
您仅需要在建表时设置分区表达式(时间函数表达式或列表达式)。在数据导入时,StarRocks 会根据数据和分区表达式的定义规则自动 创建分区,您无需在建表时预先手动/批量创建大量分区,或者配置动态分区属性。
时间函数表达式分区
如果您经常按照连续日期范围来查询和管理数据,则只需要在时间函数分区表达式中,指定一个日期类型(DATE 或者 DATETIME )的分区列,以及指定分区粒度(年、月、日或小时)。StarRocks 会根据导入的数据和分区表达式,自动创建分区并且设置分区的起止时间。
不过在一些特殊场景下,比如历史数据按月划分分区、最近数据按天划分分区,则需要采用 Range 分区创建分区。
语法
PARTITION BY expression
...
[ PROPERTIES( 'partition_live_number' = 'xxx' ) ]
expression ::=
{ date_trunc ( <time_unit> , <partition_column> ) |
time_slice ( <partition_column> , INTERVAL <N> <time_unit> [ , boundary ] ) }