Doris数据库简单语句整理

本文介绍了如何在Doris数据库中创建和管理表,包括Duplicate、Aggregate和Unique三种模型的使用,涉及建表语句、列的添加和修改、分布式策略以及默认值设定等核心概念。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近项目要用到Doris数据库,简单学习了下,觉得这个数据库挺好的,便简单的整理了下他的建表语句

-- 所有表的新增,必须设置分桶
-- 如果 BE 节点数量小于3,则需指定副本数小于等于 BE 节点数量replication_allocation
-- 新增 Duplicate模型
create table test(aa VARCHAR(22) null) 
DISTRIBUTED BY HASH(`aa`) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);
-- 增加列
ALTER TABLE test ADD COLUMN bb VARCHAR(33) null 
ALTER TABLE test ADD COLUMN bl BOOLEAN null 
-- 修改列
ALTER TABLE test MODIFY COLUMN bb VARCHAR(55) null 
desc test
INSERT into test values('aa2','ss2',false)
select * from dmptest
-- 新增 Aggregate模型
CREATE TABLE test222
(
    event_day DATE,
    siteid INT DEFAULT '10',
    citycode SMALLINT,
    username VARCHAR(32) DEFAULT '',
    pv BIGINT SUM DEFAULT '0'
)
AGGREGATE KEY(event_day, siteid, citycode, username)
DISTRIBUTED BY HASH(siteid) BUCKETS 1
PROPERTIES(
"replication_allocation" = "tag.location.default: 1"
);
-- 增加列 value列需要执行默认值
ALTER TABLE test222 ADD COLUMN bb  VARCHAR(33) null -- key
ALTER TABLE test222 ADD COLUMN CC  int MAX  DEFAULT '1' -- value
-- 修改列 聚合模式和默认值不可修改
ALTER TABLE test222 MODIFY COLUMN CC  BIGINT MAX  DEFAULT '1'
desc test222
-- 新增 Unique模型
CREATE TABLE test333
(
    event_day DATE,
    siteid INT DEFAULT '10',
    citycode SMALLINT,
    username VARCHAR(32) DEFAULT '',
    pv BIGINT DEFAULT null
)
UNIQUE KEY(event_day, siteid, citycode, username)
DISTRIBUTED BY HASH(siteid) BUCKETS 1
PROPERTIES (
"replication_allocation" = "tag.location.default: 1"
);
-- 增加列 
ALTER TABLE test333 ADD COLUMN bb  VARCHAR(33) null 
-- 修改列 
ALTER TABLE test333 MODIFY COLUMN bb VARCHAR(55) null
desc test333
<think>好的,用户想了解MPP数据库的建表语句示例或语法。首先,我需要回忆一下常见的MPP数据库系统,比如GBase 8a、Greenplum、Doris等,它们的建表语法可能有所不同,但都有一些共同点,比如分布键、存储参数等。 用户提供的引用中,引用[1]提到了使用root用户创建example_db数据库,并展示了基本的创建数据库和查看数据库的命令。这可能属于GBase 8a或类似系统的操作。引用[3]则来自Greenplum,展示了一个创建表的例子,其中指定了存储参数为列式存储,并使用了DISTRIBUTED BY来指定分布键。这些信息很有用,可以作为示例的基础。 接下来,我需要整理不同MPP数据库的建表语法。首先,GBase 8a MPP的建表语句可能需要指定分布方式,比如DISTRIBUTED BY,并且可能有不同的存储引擎选项。例如,是否使用列式存储或者行式存储,是否需要指定复制因子等。 然后,Greenplum的建表语句通常包括WITH子句来设置存储参数,比如appendonly=true表示使用追优化存储,orientation=column表示列式存储。分布策略有DISTRIBUTED BY(哈希分布)、DISTRIBUTED RANDOMLY(随机分布)或DISTRIBUTED REPLICATED(全分布)。需要明确这些选项的区别和应用场景。 另外,Doris(原Palo)作为另一个MPP数据库,其建表语句可能涉及分桶(分片)方式,比如使用DISTRIBUTED BY HASH指定哈希分桶,以及设置副本数等参数。例如,DUPLICATE KEY用于指定重复键,这是Doris中数据排序的依据。 用户可能需要具体的示例,因此需要为每个系统提供一个典型的建表语句,并解释关键参数的作用。同时,要提到不同系统的语法差异,比如存储参数的不同写法,分布键的选择等。 此外,用户可能还关心如何选择分布键,如何优化存储参数,以及分区和分桶的区别。这些可以作为相关问题,帮助用户更深入地理解MPP数据库的表设计。 需要确保回答中引用的内容正确对应到引用标记,比如引用[3]是关于Greenplum的建表示例,而引用[1]和[2]涉及GBase 8a的操作和函数示例,可能在建表时不太相关,但如果有涉及的地方需要正确引用。 最后,总结MPP数据库建表的关键点,强调分布策略、存储引擎和分区策略的重要性,并生成相关问题,帮助用户进一步学习。</think>### MPP数据库建表语句示例及语法解析 #### 1. GBase 8a MPP建表示例 ```sql CREATE TABLE sales ( order_id INT, product_id INT, sale_date DATE, quantity INT ) DISTRIBUTED BY HASH(order_id) CLUSTER BY (sale_date) WITH (STORAGE_TYPE='COLUMN', REPLICATE_NUM=2); ``` **关键参数解析**: - `DISTRIBUTED BY HASH()`:定义哈希分布键,数据按该字段值分布到不同节点[^2] - `CLUSTER BY`:按时间字段聚簇存储,优化范围查询效率 - `STORAGE_TYPE='COLUMN'`:使用列式存储提升分析性能 - `REPLICATE_NUM=2`:设置数据副本数,保障高可用性 --- #### 2. Greenplum建表示例(引用[3]) ```sql CREATE TABLE bar ( a int, b text ) WITH ( appendonly=true, orientation=column ) DISTRIBUTED BY (a); ``` **语法特点**: - `WITH`子句定义存储属性: - `appendonly=true`:启用追优化存储 - `orientation=column`:列式存储模式 - 分布策略选择: - `DISTRIBUTED BY`:哈希分布 - `DISTRIBUTED RANDOMLY`:随机分布 - `DISTRIBUTED REPLICATED`:全节点复制 --- #### 3. Doris(Apache Doris)建表示例 ```sql CREATE TABLE user_behavior ( user_id BIGINT, item_id BIGINT, behavior_type VARCHAR(10), ts DATETIME ) ENGINE=OLAP DUPLICATE KEY(user_id, item_id) PARTITION BY RANGE(ts)() DISTRIBUTED BY HASH(user_id) BUCKETS 10 PROPERTIES ( "replication_num" = "3", "storage_format" = "V2" ); ``` **特殊参数**: - `DUPLICATE KEY`:定义数据排序键 - `BUCKETS`:指定哈希分桶数量 - `storage_format`:控制数据编码压缩格式 --- ### 通用语法要素对比 | 功能 | GBase 8a | Greenplum | Doris | |---------------|----------------------|---------------------|--------------------| | 分布策略 | DISTRIBUTED BY HASH | DISTRIBUTED BY | DISTRIBUTED BY HASH| | 存储引擎 | STORAGE_TYPE | WITH(appendonly) | ENGINE=OLAP | | 副本设置 | REPLICATE_NUM | 通过Segment配置 | replication_num | | 压缩算法 | COMPRESS_LEVEL | COMPRESSTYPE | storage_format | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值