Doris
文章平均质量分 76
玖玖1704
这个作者很懒,什么都没留下…
展开
-
Doris-Routine Load(二十七)
例行导入(Routine Load)功能为用户提供了一种自动从指定数据源进行数据导入的功能。原创 2023-11-27 15:53:15 · 576 阅读 · 1 评论 -
Doris-Stream Load(二十六)
Stream load 是一个同步的导入方式,用户通过发送 HTTP 协议发送请求将本地文件或数据流导入到 Doris 中。Stream load 同步执行导入并返回导入结果。用户可直接通过请求的返回体判断本次导入是否成功。原创 2023-11-27 15:52:32 · 134 阅读 · 0 评论 -
Doris-导入示例(二十五)
主要显示了当前导入任务参数,也就是创建 Broker load 导入任务时用户指定的导入任务参数,包括:cluster,timeout 和 max_filter_ratio。该行数仅用于展示当前的进度,不代表最终实际的处理行数。如果所有导入表均完成导入,此时 LOAD 的进度为 99% 导入进入到最后生效阶段,整个导入完成后,LOAD 的进度才会改为 100%。这几个值分别代表导入创建的时间,ETL 阶段开始的时间,ETL 阶段完成的时间,Loading 阶段开始的时间和整个导入任务完成的时间。原创 2023-11-27 15:51:56 · 163 阅读 · 0 评论 -
Doris-Broker Load(二十四)
数据的合并类型,一共支持三种类型 APPEND、DELETE、MERGE 其中,APPEND 是默认值,表示这批数据全部需要追加到现有数据中,DELETE 表示删除与这批数据 key 相同的所有行,MERGE 语义 需要与 delete 条件联合使用,表示满足 delete 条件的数据按照DELETE 语义处理其余的按照 APPEND 语义处理。用户在提交导入任务后,FE 会生成对应的 Plan 并根据目前 BE 的个数和文件的大小,将 Plan 分给多个 BE 执行,每个 BE 执行一部分导入数据。原创 2023-11-27 15:51:08 · 68 阅读 · 0 评论 -
Doris-数据导入 (二十三)
导入(Load)功能就是将用户的原始数据导入到 Doris 中。导入成功后,用户即可通过Mysql 客户端查询数据。为适配不同的数据导入需求,Doris 系统提供了 6 种不同的导入方式。每种导入方式支持不同的数据源,存在不同的使用方式(异步,同步)。所有导入方式都支持 csv 数据格式。其中 Broker load 还支持 parquet 和 orc 数据格式。原创 2023-11-27 15:50:26 · 112 阅读 · 0 评论 -
Doris-删除数据(Delete)(二十二)
Doris 目前可以通过两种方式删除数据:DELETE FROM 语句和 ALTER TABLE DROP PARTITION 语句。原创 2023-11-27 15:49:46 · 1882 阅读 · 0 评论 -
Doris-修改表(二十一)
使用 ALTER TABLE 命令可以对表进行修改,包括 partition 、rollup、schema change、rename 和 index 五种。原创 2023-11-24 15:13:28 · 236 阅读 · 0 评论 -
Doris中物化视图-案例(二十)
参考上篇: Doris中的物化视图-查询1)创建一个 Base 表插入数据2)基于这个 Base 表的数据提交一个创建物化视图的任务3)检查物化视图是否构建完成由于创建物化视图是一个异步的操作,用户在提交完创建物化视图任务后,需要异步的通过命令检查物化视图是否构建完成。查看 Base 表的所有物化视图4)检验当前查询是否匹配到了合适的物化视图5)删除物化视图语法假设用户的原始广告点击数据存储在 Doris,那么针对广告 PV, UV 查询就可以通过创建 bitmap_union 的物化视图来提升原创 2023-11-24 15:12:39 · 138 阅读 · 0 评论 -
Doris中的物化视图-查询(十九)
物化视图创建完成后,用户的查询会根据规则自动匹配到最优的物化视图。比如我们有一张销售记录明细表,并且在这个明细表上创建了三张物化视图。一个存储了不同时间不同销售员的售卖量,一个存储了不同时间不同门店的销售量,以及每个销售员的总销售量。当查询7月19日,各个销售员都买了多少钱的话。就可以匹配 mv_1 物化视图。直接对 mv_1 的数据进行查询。原创 2023-11-24 15:11:51 · 209 阅读 · 0 评论 -
Doris中的物化视图(十八)
物化视图就是包含了查询结果的数据库对象,可能是对远程数据的本地 copy,也可能是一个表或多表 join 后结果的行或列的子集,也可能是聚合后的结果。说白了,就是预先存储查询结果的一种数据库对象。在 Doris 中的物化视图,就是查询结果预先存储起来的特殊的表。物化视图的出现主要是为了满足用户,既能对原始明细数据的任意维度分析,也能快速的对固定维度进行分析查询。原创 2023-11-24 15:10:47 · 130 阅读 · 0 评论 -
ROLLUP 的几点说明(十七)
ROLLUP 最根本的作用是提高某些查询的查询效率(无论是通过聚合来减少数据量,还是修改列顺序以匹配前缀索引)。ROLLUP 是附属于 Base 表的,可以看做是 Base 表的一种辅助数据结构。用户可以在 Base 表的基础上,创建或删除 ROLLUP,但是不能在查询中显式的指定查询某ROLLUP。查询能否命中 ROLLUP 的一个必要条件(非充分条件)是,查询所涉及的所有列(包括 select list 和 where 中的查询条件列等)都存在于该 ROLLUP 的列中。用户无需关心这个问题。原创 2023-11-24 15:10:03 · 97 阅读 · 0 评论 -
Duplicate 模型中的 ROLLUP(十六)
因为 Duplicate 模型没有聚合的语意。所以该模型中的 ROLLUP,已经失去了“上卷”这一层含义。而仅仅是作为调整列顺序,以命中前缀索引的作用。下面详细介绍前缀索引,以及如何使用 ROLLUP 改变前缀索引,以获得更好的查询效率。原创 2023-11-24 15:09:23 · 113 阅读 · 0 评论 -
Doris中的Rollup(十五)
ROLLUP 在多维分析中是“上卷”的意思,即将数据按某种指定的粒度进行进一步聚合。在 Doris 中,我们将用户通过建表语句创建出来的表称为 Base 表(Base Table)。Base 表中保存着按用户建表语句指定的方式存储的基础数据。在 Base 表之上,我们可以创建任意多个 ROLLUP 表。这些 ROLLUP 的数据是基于 Base 表产生的,并且在物理上是独立存储的。ROLLUP 表的基本作用,在于在 Base 表的基础上,获得更粗粒度的聚合数据。原创 2023-11-22 17:20:28 · 125 阅读 · 0 评论 -
Doris动态分区(十四)
动态分区是在 Doris 0.12 版本中引入的新功能。旨在对表级别的分区实现生命周期管理(TTL),减少用户的使用负担。目前实现了动态添加分区及动态删除分区的功能。动态分区只支持 Range 分区。原创 2023-11-22 17:15:35 · 215 阅读 · 0 评论 -
Doris数据模型的选择建议(十三)
Doris 的数据模型主要分为 3 类:Aggregate、Uniq、DuplicateAggregate:因为数据模型在建表时就已经确定,且无法修改。所以,选择一个合适的数据模型非常重要。(1)Aggregate 模型可以通过预聚合,极大地降低聚合查询时所需扫描的数据量和查询的计算量,非常适合有固定模式的报表类查询场景。但是该模型对count(*)查询很不友好。同时因为固定了 Value 列上的聚合方式,在进行其他类型的聚合查询时,需要考虑语意正确性。原创 2023-11-22 15:48:39 · 528 阅读 · 0 评论 -
Doris 数据模型-Duplicate 模型(十二)
Doris 的数据模型主要分为 3 类:Aggregate、Uniq、DuplicateAggregate:在某些多维分析场景下,数据既没有主键,也没有聚合需求。Duplicate 数据模型可以满足这类需求。数据完全按照导入文件中的数据进行存储,不会有任何聚合。即使两行数据完全相同,也都会保留。而在建表语句中指定的 DUPLICATE KEY,只是用来指明底层数据按照那些列进行排序。原创 2023-11-22 15:47:13 · 140 阅读 · 0 评论 -
Doris 数据模型-Uniq 模型(十一)
Doris 的数据模型主要分为 3 类:Aggregate、Uniq、DuplicateAggregate:在某些多维分析场景下,用户更关注的是如何保证 Key 的唯一性,即如何获得 Primary Key 唯一性约束。因此,我们引入了 Uniq 的数据模型。该模型本质上是聚合模型的一个特例,也是一种简化的表结构表示方式。原创 2023-11-22 15:46:35 · 156 阅读 · 0 评论 -
Doris 数据模型-Aggregate 模型(十)
Doris 的数据模型主要分为 3 类:Aggregate、Uniq、Duplicate表中的列按照是否设置了 AggregationType,分为 Key(维度列)和 Value(指标列)。没有设置 AggregationType 的称为 Key,设置了 AggregationType 的称为 Value。当我们导入数据时,对于 Key 列相同的行会聚合成一行,而 Value 列会按照设置的AggregationType 进行聚合。原创 2023-11-22 14:54:14 · 130 阅读 · 0 评论 -
Doris的PROPERTIES与ENGINE(九)
每个 Tablet 的副本数量。默认为 3,建议保持默认即可。在建表语句中,所有 Partition 中的 Tablet 副本数量统一指定。而在增加新分区时,可以单独指定新分区中 Tablet 的副本数量。副本数量可以在运行时修改。强烈建议保持奇数。最大副本数量取决于集群中独立 IP 的数量(注意不是 BE 数量)。Doris 中副本分布的原则是,不允许同一个 Tablet 的副本分布在同一台物理机上,而识别物理机即通过 IP。原创 2023-11-22 14:52:41 · 461 阅读 · 0 评论 -
Doris分区与分桶(八)
接上篇----------Doris 支持两层的数据划分。第一层是 Partition,支持 Range 和 List 的划分方式。第二层是 Bucket(Tablet),仅支持 Hash 的划分方式。也可以仅使用一层分区。使用一层分区时,只支持 Bucket 划分。原创 2023-11-22 14:49:55 · 622 阅读 · 0 评论 -
Doris 建表示例(七)
以 AGGREGATE KEY 数据模型为例进行说明。更多数据模型参阅 Doris 数据模型。列的基本类型,可以通过在 mysql-client 中执行 HELP CREATE TABLE;查看。AGGREGATE KEY 数据模型中,所有没有指定聚合方式(SUM、REPLACE、MAX、MIN)的列视为 Key 列。而其余则为 Value 列。定义列时,可参照如下建议:Key 列必须在所有 Value 列之前。尽量选择整型类型。因为整型类型的计算和查找比较效率远高于字符串。原创 2023-11-22 14:48:46 · 156 阅读 · 0 评论 -
Doris扩容和缩容(六)
Doris 可以很方便的扩容和缩容 FE、BE、Broker 实例。原创 2023-11-22 09:46:44 · 171 阅读 · 0 评论 -
Doris部署 FS_Broker(五)
Broker 以插件的形式,独立于 Doris 部署。如果需要从第三方存储系统导入数据,需要部署相应的 Broker,默认提供了读取 HDFS、百度云 BOS 及 Amazon S3 的 fs_broker。fs_broker 是无状态的,建议每一个 FE 和 BE 节点都部署一个 Broker。原创 2023-11-22 09:28:28 · 188 阅读 · 0 评论 -
Doris-集群部署(四)
storage_root_path 默认在 be/storage 下,需要手动创建该目录。生产环境强烈建议单独指定目录不要放在 Doris 安装目录下,最好是单独的磁盘(如果有 SSD 最好)。如果机器有多个 ip, 比如内网外网, 虚拟机 docker 等, 需要进行 ip 绑定,才能正确识别。如果机器有多个 IP, 比如内网外网, 虚拟机 docker 等, 需要进行 IP 绑定,才能正确识别。2)修改可打开文件数(每个节点)(前面的'*'也需要复制)1)启动 BE(每个节点)2)查看 BE 状态。原创 2023-11-22 09:20:16 · 116 阅读 · 0 评论 -
Doris安装要求(三)
(3)一台机器上可以部署多个 BE 实例,但是只能部署一个 FE。如果需要 3 副本数据,那么至少需要 3 台机器各部署一个 BE 实例(而不是 1 台机器部署 3 个 BE 实例)。(8)根据以往经验,当集群可用性要求很高时(比如提供在线业务),可以部署 3 个Follower 和 1-3 个 Observer。(2)BE 的磁盘空间主要用于存放用户数据,总磁盘空间按用户总数据量* 3(3 副本)计算,然后再预留额外 40%的空间用作后台 compaction 以及一些中间数据的存放。原创 2023-11-22 09:17:23 · 170 阅读 · 0 评论 -
Doris的编译与安装(二)
同时将镜像中 maven 的 .m2 目录挂载到宿主机目录,以防止每次启动镜像编译时,重复下载 maven 的依赖库。因为 build-env-for-0.15.0 版本镜像升级了 thrift(0.9 -> 0.13),需要通过--clean 命令强制使用新版本的 thrift 生成代码文件,否则会出现不兼容的代码。编译过程会下载很多依赖,可以将我们准备好的 doris-repo.tar.gz 解压到 Docker 挂载的对应目录,来避免下载依赖的过程,加速编译。可以通过以下命令查看镜像是否下载完成。原创 2023-11-22 09:16:41 · 182 阅读 · 0 评论 -
Doris 简介(一)
Apache Doris 由百度大数据部研发(之前叫百度 Palo,2018 年贡献到 Apache 社区后,更名为 Doris ),在百度内部,有超过 200 个产品线在使用,部署机器超过 1000 台,单一业务最大可达到上百 TB。Apache Doris 是一个现代化的 MPP(Massively Parallel Processing,即大规模并行处理)分析型数据库产品。仅需亚秒级响应时间即可获得查询结果,有效地支持实时数据分析。原创 2023-11-22 09:15:30 · 96 阅读 · 0 评论