Doris(4):建表

25 篇文章 ¥19.90 ¥99.00
本文详细介绍了Doris中的数据表结构,包括Row与Column、Tablet与Partition的概念,以及建表语法和数据类型。重点讲解了如何使用CREATE TABLE命令创建表,包括TINYINT到LARGEINT等多种数据类型,并探讨了数据划分、单分区和复合分区的使用场景。此外,还提供了关于Partition和Bucket数量与数据量的建议,以优化表的设计和性能。

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

可以通过在mysql-client中执行以下 help 命令获得更多帮助:

help create table

1 基本概念

在 Doris 中,数据都以表(Table)的形式进行逻辑上的描述。

1.1 Row & Column

一张表包括行(Row)和列(Column)。Row 即用户的一行数据。Column 用于描述一行数据中不同的字段。

Column 可以分为两大类:Key 和 Value。从业务角度看,Key 和 Value 可以分别对应维度列和指标列。从聚合模型的角度来说,Key 列相同的行,会聚合成一行。其中 Value 列的聚合方式由用户在建表时指定。关于更多聚合模型的介绍,可以参阅 Doris 数据模型:Data Model, Rollup & Prefix Index · apache/doris Wiki · GitHub

 1.2 Tablet & Partition

在 Doris 的存储引擎中,用户数据被水平划分为若干个数据分片(Tablet,也称作数据分桶)。每个 Tablet 包含若干数据行

Doris是一个开源的MPP分析型数据库,它支持SQL查询并可以用来做在线分析处理(OLAP)。Doris语句类似于标准SQL,但是针对其分布式架构做了优化。以下是Doris语句的基本格式: ```sql CREATE TABLE [IF NOT EXISTS] [db_name.]table_name ( column_name1 column_type1, column_name2 column_type2, ... ) [ENGINE = olap引擎类型] [DISTRIBUTED BY HASH(字段名) BUCKETS 数量] [PROPERTIES (属性名1 = '属性值1', 属性名2 = '属性值2', ...)]; ``` 其中,`[IF NOT EXISTS]`是可选的,用来避免在已经存在的情况下执行语句而导致的错误。`[db_name.]`指定了数据库名,如果是在当前连接的数据库数据库名可以省略。 `column_name`是列的名称,`column_type`是列的数据类型。Doris支持的数据类型包括`INT`, `BIGINT`, `VARCHAR`, `DATE`, `DATETIME`等。 `ENGINE`指定了使用的存储引擎类型,Doris通常使用`olap`作为存储引擎。 `DISTRIBUTED BY HASH(字段名) BUCKETS 数量`指定了数据分布的方式,通过散列某个字段来分布数据到不同的分桶中,`数量`示分桶的数量。 `PROPERTIES`子句用于设置一些特定的属性,比如副本数量、排序键等。 例如,创一个简单的,可能看起来像这样: ```sql CREATE TABLE sales_data ( sale_date DATE, product_id BIGINT, total_price DOUBLE ) ENGINE = olap DISTRIBUTED BY HASH(product_id) BUCKETS 16 PROPERTIES ( "replication_num" = "3" ); ``` 在这个例子中,`sales_data`是名,包含三个字段:`sale_date`(日期类型),`product_id`(大整数类型)和`total_price`(双精度浮点数类型)。使用`olap`引擎,并且按照`product_id`字段的散列值分布到16个分桶中。另外设置了属性`replication_num`为3,意味着每个分桶有3个副本。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不死鸟.亚历山大.狼崽子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值