当前位置: 首页 > wzjs >正文

网站建设中的板块名称站长网站大全

网站建设中的板块名称,站长网站大全,h5做的网站,平湖手机网站建设Doris系列之基础使用 1 简介1.1 官方文档 2 doris语法2.1 建表语法 3 doris模型3.1 明细模型3.1.1 示例 3.2 主键模型3.2.1 读时合并3.2.2 写时合并-默认3.2.3 示例 3.3 聚合模型3.3.1 聚合方式3.3.2 示例 1 简介 Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据…

Doris系列之基础使用

  • 1 简介
    • 1.1 官方文档
  • 2 doris语法
    • 2.1 建表语法
  • 3 doris模型
    • 3.1 明细模型
      • 3.1.1 示例
    • 3.2 主键模型
      • 3.2.1 读时合并
      • 3.2.2 写时合并-默认
      • 3.2.3 示例
    • 3.3 聚合模型
      • 3.3.1 聚合方式
      • 3.3.2 示例

1 简介

Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即时查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用Apache Doris 是一个基于 MPP 架构的高性能、实时的分析型数据库,以极速易用的特点被人们所熟知,仅需亚秒级响应时间即可返回海量数据下的查询结果,不仅可以支持高并发的点查询场景,也能支持高吞吐的复杂分析场景。基于此,Apache Doris 能够较好的满足报表分析、即时查询、统一数仓构建、数据湖联邦查询加速等使用场景,用户可以在此之上构建用户行为分析、AB 实验平台、日志检索分析、用户画像分析、订单分析等应用。

1.1 官方文档

官方文档:https://doris.apache.org/zh-CN

2 doris语法

2.1 建表语法

CREATE TABLE [IF NOT EXISTS] [database.]table
(column_definition_list[, index_definition_list]
)
[engine_type]
[keys_type]
[table_comment]
[partition_info]
distribution_desc
[rollup_list]
[properties]
[extra_properties]
  • engine_type:包含olap、mysql、broker、hive 几种
  • key_type:
    • DUPLICATE KEY:(默认),其后指定的列为排序列
    • AGGREGATE KEY:其后指定的列为维度列
    • UNIQUE KEY:其后指定的列为主键列
  • partition_info:分区算法,可选
  • distributed:分桶算法,必选
    • hash 分桶语法:DISTRIBUTED BY HASH (k1[,k2 …]) [BUCKETS num|auto] 说明:使用指定的 key 列进行哈希分桶。
    • Random 分桶语法:DISTRIBUTED BY RANDOM [BUCKETS num|auto] 说明:使用随机数进行分桶。
  • properties:
    • replication_allocation:指定表的分区配置

3 doris模型

3.1 明细模型

在明细数据模型中,数据按照导入文件中的数据进行存储,不会有任何聚合。即使两行数据完全相同,也都会保留。而在建表语句中指定的 DUPLICATE KEY,只是用来指明数据存储按照哪些列进行排序。

3.1.1 示例

-- 建表语句
CREATE TABLE IF NOT EXISTS example_tbl_by_default
(`timestamp` DATETIME NOT NULL COMMENT "日志时间",`type` INT NOT NULL COMMENT "日志类型",`error_code` INT COMMENT "错误码",`error_msg` VARCHAR(1024) COMMENT "错误详细信息",`op_id` BIGINT COMMENT "负责人id",`op_time` DATETIME COMMENT "处理时间"
)
distributed BY HASH(`type`) BUCKETS 1
properties ("replication_allocation" = "tag.location.default: 1"
);
-- 插入数据
INSERT into example_tbl_by_default values(123,1,200,'测试错误',1,'2024-04-28 11:49:45');

在这里插入图片描述
提示:Doris的明细模型与ClickHouse的TinyLog引擎类似,都是记录明细数据。

3.2 主键模型

主键模型能够保证 Key(主键)的唯一性,当用户更新一条数据时,新写入的数据会覆盖具有相同 key(主键)的旧数据

3.2.1 读时合并

在读时合并实现中,用户在进行数据写入时不会触发任何数据去重相关的操作,所有数据去重的操作都在查询或者compaction时进行。因此,读时合并的写入性能较好,查询性能较差,同时内存消耗也较高;

3.2.2 写时合并-默认

在1.2版本中,我们引入了写时合并实现,该实现会在数据写入阶段完成所有数据去重的工作,因此能够提供非常好的查询性能。自2.0版本起,写时合并已经非常成熟稳定, 由于其优秀的查询性能,我们推荐大部分用户选择该实现。自2.1版本,写时合并成为Unique模型的默认实现

3.2.3 示例

-- 创建表
CREATE TABLE IF NOT EXISTS example_tbl_unique
(`user_id` LARGEINT NOT NULL COMMENT "用户id",`username` VARCHAR(50) NOT NULL COMMENT "用户昵称",`city` VARCHAR(20) COMMENT "用户所在城市",`age` SMALLINT COMMENT "用户年龄",`sex` TINYINT COMMENT "用户性别",`phone` LARGEINT COMMENT "用户电话",`address` VARCHAR(500) COMMENT "用户地址",`register_time` DATETIME COMMENT "用户注册时间"
)
UNIQUE KEY(`user_id`)
distributed BY HASH(`user_id`) BUCKETS 1
properties ("replication_allocation" = "tag.location.default: 1"
);
-- 插入数据
INSERT into example_tbl_unique VALUES(1,'张三','成都',22,1,'18478548754','四川省成都市','2024-04-28 11:05:10');
-- 再次插入数据,数据被覆盖更新
INSERT into example_tbl_unique VALUES(1,'张三1','成都1',23,2,'18478548754','四川省成都市1','2024-04-29 11:05:10');

在这里插入图片描述
提示:Doris的主键模型与ClickHouse的ReplacingMergeTree效果一致,只是ClickHouse合并不是实时的,而Doris可以选择配置为写时合并还是读时合并,可参考【ClickHouse系列之ClickHouse使用】

3.3 聚合模型

3.3.1 聚合方式

  • SUM求和,多行的 Value 进行累加
  • 3.3.1.2 REPLACE:替代,下一批数据中的 Value 会替换之前导入过的行中的 Value
  • MAX:保留最大值
  • MIN:保留最小值
  • REPLACE_IF_NOT_NULL:非空值替换,和 REPLACE 的区别在于对于 null 值,不做替换
  • HLL_UNION:HLL 类型的列的聚合方式,通过 HyperLogLog 算法聚合
  • BITMAP_UNION:BIMTAP 类型的列的聚合方式,进行位图的并集聚合

3.3.2 示例

-- 创建表
CREATE TABLE IF NOT EXISTS example_tbl_agg1
(`user_id` LARGEINT NOT NULL COMMENT "用户id",`date` DATE NOT NULL COMMENT "数据灌入日期时间",`city` VARCHAR(20) COMMENT "用户所在城市",`age` SMALLINT COMMENT "用户年龄",`sex` TINYINT REPLACE_IF_NOT_NULL 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 "用户最小停留时间" -- 取最小值
)
aggregate KEY(`user_id`, `date`, `city`, `age`)
distributed BY HASH(`user_id`) BUCKETS 1
properties (
"replication_allocation" = "tag.location.default: 1"
);
-- 插入第一次数据
INSERT into example_tbl_agg1 VALUES(1,'2024-04-28 14:33:24','四川',15,1,'2024-04-28 14:33:51',1,10,20);
-- 插入第二次数据 性别、时间、消费等信息变更
INSERT into example_tbl_agg1 VALUES(1,'2024-04-28 14:33:24','四川',15,null,null,2,20,10);
-- 插入第三次数据  所在城市变更
INSERT into example_tbl_agg1 VALUES(1,'2024-04-28 14:33:24','四川省',15,null,null,2,20,10);

在这里插入图片描述
提示:Doris的聚合模型与ClickHouse的AggregatingMergeTree相似,都可以针对对应的列选择指定的合并方法。

http://www.dtcms.com/wzjs/587178.html

相关文章:

  • 宜宾市做网站多少钱开封网站优化
  • 遵义城乡住房建设厅网站有网站源码 怎么建设网站
  • 域名价格查询网站单位网页制作
  • php语言的网站建设上海小程序开发哪家好
  • 微信菜单栏那些网站怎么做做网站公司排名是什么
  • 网站开发工资高嘛服务行业做网站
  • 国外网站做淘宝客四川网站建设平台
  • 好的网站优化公司WordPress网站打不开nginx
  • 做性的网站有哪些内容安卓做网站教程
  • 中国空间站完成图企业门户网站运营推广
  • .net网站架设柘城网站建设
  • 专业中山建网站公司个人网站页面
  • 国外优秀企业网站欣赏扬州建设工程交易网
  • 网站错误页面模板网上推广平台
  • 免费网站制作平台下载一起做网店网站哪里进货的
  • 做网站挣钱经历计算机培训班推荐
  • 网站推广策划书范文安徽网站设计定制
  • 网站首页 栏目页 内容页深圳专业建网站
  • 作品 上海高端网站设计网络安全方案设计
  • 男女做污的网站网络推广网络营销公司
  • 小网站asp网站伪静态教程
  • 县级以下不允许建设网站网站建设官方网站
  • 华丽的网站模板seo搜索引擎优化方法
  • 校园网站建设方案模板下载郑州网站seo排名
  • 优惠券网站建设制作做外贸月薪3万要多久
  • 外贸网站首页游戏网站做的思想步骤
  • 网站开发商标属于哪一类wordpress 响应速度慢
  • 左侧导航栏网站莞城建设网站
  • python怎么做专门的手机网站长沙网站设计
  • 自建站工具拍宣传片比较好的公司