暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Doris 功能介绍-List Partition

ApacheDoris 2021-05-18
4232

## List Partition

在之前的版本中,Doris 仅支持 Range Partition 这种分区方式。Range Partition 允许用户指定一列或多列的范围作为一个分区的数据值界限。这种分区方式可以很好的解决大部分基于时间增长的数据场景。

但是某些情况下,用户需要按照某些枚举类型的值进行数据分区。如按照省份、地域、产品类别等。而是用Range Partition无法有效的表达这种分区方式。因此在 0.14.8 及以上 版本中,Doris 支持了 List Partition 分区方式。

List Partition 允许用户指定一列或多列作为分区列,并指定具体的列值作为分区值。

单列分区

当指定单列作为分区列时,List Partition 的语法如下:

    PARTITION BY LIST(`city`)
    (
    PARTITION `p_cn` VALUES IN ("Beijing", "Shanghai", "Hong Kong"),
        PARTITION `p_usa` VALUES IN ("New York""San Francisco"),
        PARTITION `p_jp` VALUES IN ("Tokyo")
    )

    如上示例,我们使用 city 作为分区列,每一个分区可以枚举多个值作为分区值。比如 p_cn 分区中,可以存储 Beijing、Shanghai、HongKong 三种值。

    多列分区

    当指定多列作为分区列时,List Partition 的语法如下:

      PARTITION BY LIST(`id`, `city`)
      (
      PARTITION `p1_city` VALUES IN (("1", "Beijing"), ("1", "Shanghai")),
      PARTITION `p2_city` VALUES IN (("2", "Beijing"), ("2", "Shanghai")),
      PARTITION `p3_city` VALUES IN (("3", "Beijing"), ("3", "Shanghai"))
      )

      如上示例,我们使用 id、city 两列作为分区列。一个分区可以指定多个“列值组合”作为分区值。比如 p1_city 分区可以存储 ("1", "Beijing") 和 ("1", "Shanghai") 两组值。

      ## 其他说明和注意事项

      1. 同 Range Partition,当导入数据值在分区范围外,则不会被导入。

      2. 同 Range Partition,分区下一级需指定分桶列对数据进行 Hash 分桶。

      3. 同 Range Partition,List Partition 也可以进行增加、删除、Truncate 等一系列操作。也同样支持查询时的分区裁剪。

      4. 目前不支持 NULL 值作为 List Partition 的分区值。即 List Partition 的分区列必须为 NOT NULL 列。

      5. 目前 Spark Load 不支持 List Partition 分区表的导入。其他导入方式均支持。

      END

      List Partition 作为一种新的分区方式,可以帮助用户更好的对应场景建模。

      【往期回顾】

      【Doris Weekly】2021.04.26~2021.05.09

      【Doris Weekly】2021.04.13~2021.04.26

      【Doris Weekly】2021.03.22 ~ 2021.04.11



      【精彩文章】

      Doris 功能介绍-Proc 系统-/statistic

      Doris 功能介绍-Proc 系统-/dbs

      Doris 功能介绍-Proc 系统

      百度数据仓库 Powered by Doris

      基于 Apache Doris 的企业级数据仓库托管服务


      全新UI支持,更有新用户0元试用3个月优惠活动

      登陆百度智能云官网搜索Doris,马上试用!



      📣百度Doris 团队,诚邀对开源软件、分布式数据库感兴趣的小伙伴们

      我们虚位以待!

      简历发送至:talent-doris@baidu.com

      欢迎扫码关注:

      Apache Doris(incubating)官方公众号

      相关链接:

      Apache Doris官方网站:

      http://doris.incubator.apache.org

      Apache Doris Github:

      https://github.com/apache/incubator-doris

      Apache Doris 开发者邮件组:

      dev@doris.apache.org

                           

                                                            

      文章转载自ApacheDoris,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

      评论