Doris 建表

Doris建表

这是AGGREGATE 模型的建表案列。如果是其他模型,只要改AGGREGATE KEY这一行,改掉REPLACE ,MAX,MIN,SUM,HLL_UNION)等。

注意:在Doris中,unique约束与Mysql,Oracle,Hive等数据库不同,不是写在字段类型里,而是作为一种数据模型。

CREATE TABLE IF NOT EXISTS example_db.expamle_tbl
(
    `user_id` LARGEINT NOT NULL COMMENT "用户id",   
    `date` DATE NOT NULL COMMENT "数据灌入日期时间",
    `timestamp` DATETIME NOT NULL COMMENT "数据灌入的时间戳",
    `city` VARCHAR(20) COMMENT "用户所在城市",
    `age` SMALLINT COMMENT "用户年龄",
    `sex` TINYINT COMMENT "用户性别",
    `last_visit_date` DATETIME REPLACE DEFAULT "1970-01-01 00:00:00" COMMENT "用户最后一次访问时间",
    `cost` BIGINT SUM DEFAULT "0" COMMENT "用户总消费",
    `max_dwell_time` INT MAX DEFAULT "0" COMMENT "用户最大停留时间",
    `min_dwell_time` INT MIN DEFAULT "99999" COMMENT "用户最小停留时间"
)
ENGINE=olap      -- 1
AGGREGATE KEY(`user_id`, `date`, `timestamp`, `city`, `age`, `sex`) --若此处不是AGGREGATE聚合模型,而是Unique唯一主键模型、Duplicate明细模型的话,建表不用聚合类型(SUM、MAX、MIN、REPLACE、HLL_UNION等)
PARTITION BY RANGE(`date`)      --分区
(
    PARTITION `p201701` VALUES LESS THAN ("2017-02-01"),
    PARTITION `p201702` VALUES LESS THAN ("2017-03-01"),
    PARTITION `p201703` VALUES LESS THAN ("2017-04-01")
)
DISTRIBUTED BY HASH(`user_id`) BUCKETS 16  --分桶,默认是10
PROPERTIES  --可以默认不写
(
    "replication_num" = "3",  --默认是3
    "storage_medium" = "SSD", --默认为HHD磁盘
    "storage_cooldown_time" = "2018-01-01 12:00:00" --到此时间后就从SSD磁盘转到HHD磁盘
);

数据类型
链接https://blog.youkuaiyun.com/cai_and_luo/article/details/118600628

SUM、MAX、MIN、REPLACE、HLL_UNION(仅用于HLL列,为HLL独有的聚合方式) 为聚合类型,该类型只对聚合模型(key_desc的type为AGGREGATE KEY)有用,其它模型不需要指定这个。

ENGINE
详情见链接:https://blog.youkuaiyun.com/weixin_43161811/article/details/107236857

	本示例中,ENGINE 的类型是 olap,即默认的 ENGINE 类型。在 Doris 中,只有这个 ENGINE 类型是由 Doris 负责数据管理和存储的。
其他 ENGINE 类型,如 mysql、broker、es 等等,本质上只是对外部其他数据库或系统中的表的映射,以保证 Doris 可以读取这些数据。
而 Doris 本身并不创建、管理和存储任何非 olap ENGINE 类型的表和数据。

数据模型
https://cloud.baidu.com/doc/DORIS/s/rkmealnj7

  • AGGREGATE KEY :key列相同的记录,value列按照指定的聚合类型进行聚合,适合报表、多维分析等业务场景。
    — SUM、MAX、MIN、REPLACE、HLL_UNION(仅用于HLL列,为HLL独有的聚合方式)
  • UNIQUE KEY:key列相同的记录,value列按导入顺序进行覆盖,适合按key列进行增删改查的点查询业务。
  • DUPLICATE KEY:key列相同的记录,同时存在于Palo中,适合存储明细数据或者数据无聚合特性的业务场景。

注意: 除AGGREGATE KEY外,其他key_type在建表时,value列不需要指定聚合类型。

PARTITION,DISTRIBUTED ,PROPERTIES 见ENGINE 的链接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值