1.Aggregate 模型

  • 聚合模型:Aggregate(聚合,合计)模型,表中key值不重复,对于插入的数据数据按照key值对value值进行聚合函数合并。
    CREATE TABLE IF NOT EXISTS test(
    `ID` int(11) NOT NULL,
    `optime` datetime   not NULL,
    `optype` varchar(100)   not NULL,
    `NAME` varchar(32) DEFAULT NULL,
    `OP_TIME` datetime DEFAULT NULL,
    `col1` date DEFAULT NULL,
    `col2` char(10) DEFAULT NULL,
    `col3` int(11) DEFAULT NULL,
    `col4` varchar(10) DEFAULT NULL,
    `col5` int(11) DEFAULT NULL
    )
    Aggregate KEY(id,optime,optype,name,op_time,col1,col2,col3,col4,col5)
    DISTRIBUTED BY HASH(id) BUCKETS 1
    PROPERTIES (
    "replication_allocation" = "tag.location.default: 1"
    );

2.Uniq 模型

  • 更新模型:UNIQUE 模型,聚合类型的特殊情况,key满足唯一性,最新插入的数据替换掉对应key的数据行。
    CREATE TABLE IF NOT EXISTS test(
    `ID` int(11) NOT NULL,
    `optime` datetime   not NULL,
    `optype` varchar(100)   not NULL,
    `NAME` varchar(32) DEFAULT NULL,
    `OP_TIME` datetime DEFAULT NULL,
    `col1` date DEFAULT NULL,
    `col2` char(10) DEFAULT NULL,
    `col3` int(11) DEFAULT NULL,
    `col4` varchar(10) DEFAULT NULL,
    `col5` int(11) DEFAULT NULL
    )
    Unique KEY(id,optime,optype)
    DISTRIBUTED BY HASH(id) BUCKETS 1
    PROPERTIES (
    "replication_allocation" = "tag.location.default: 1"
    );

3.Duplicate 模型

  • 明细模型:Duplicate(重复,复制)模型,表中的Key值(类似关系模型中的主键)可以重复,和插入数据行一一对应。
    CREATE TABLE IF NOT EXISTS test(
    `ID` int(11) NOT NULL,
    `optime` datetime   not NULL,
    `optype` varchar(100)   not NULL,
    `NAME` varchar(32) DEFAULT NULL,
    `OP_TIME` datetime DEFAULT NULL,
    `col1` date DEFAULT NULL,
    `col2` char(10) DEFAULT NULL,
    `col3` int(11) DEFAULT NULL,
    `col4` varchar(10) DEFAULT NULL,
    `col5` int(11) DEFAULT NULL
    )
    Duplicate KEY(id,optime,optype)
    DISTRIBUTED BY HASH(id) BUCKETS 1
    PROPERTIES (
    "replication_allocation" = "tag.location.default: 1"
    );

4.PRIMARY 模型

  • 主键模型:PRIMARY(主键)模型,表中的Key值必须满足唯一性约束,且列的值不会修改。
    CREATE TABLE test(
    `id` int(11) NOT NULL,
    `optime` datetime   not NULL,
    `optype` varchar(100)   not NULL,
    `NAME` varchar(32) DEFAULT NULL,
    `OP_TIME` datetime DEFAULT NULL,
    `col1` date DEFAULT NULL,
    `col2` char(10) DEFAULT NULL,
    `col3` int(11) DEFAULT NULL,
    `col4` varchar(10) DEFAULT NULL,
    `col5` int(11) DEFAULT NULL)
    PRIMARY KEY (id,optime,optype)
    COMMENT 'test'
    DISTRIBUTED BY HASH(id,optime,optype) BUCKETS 12
    PROPERTIES (
    "replication_num" = "1",
    "replicated_storage" = "true"
    );
文档更新时间: 2024-01-29 02:52   作者:程少波