猫猫姐
这个作者很懒,什么都没留下…
展开
-
Doris 日志分析案例
前面我们介绍了,和,今天我们来看一个具体的案例,因为日志数据往往都是写到kafka 或者,是通过日志收集工具收集到kafka 中的。所以我们如果想要使用Doris进行日志分析的话,那我们需要做的一件事情,就是同步数据到Doris,这也就是我们前面介绍的功能,只不过我们上一节只是创建了一个测试的topic 和表,这一节我们看一个真实的案例。原创 2024-04-30 09:42:11 · 223 阅读 · 0 评论 -
Doris 倒排索引
Apache Doris 提供了丰富的索引以加速数据的读取和过滤,依据是否需要用户手工创建,索引类型大体可以分为智能内建索引和用户创建索引两类,其中智能内建索引是指在数据写入时自动生成的索引,无需用户干预,包括前缀索引和 ZoneMap 索引。因此,即使不添加倒排索引仍能展现较好的查询效果。这里需要说明的是,MATCH 与 LIKE 查询的差异在于,MATCH 查询时会忽略大小写,把句子切分成一个个词来匹配,能够更快速定位符合条件的结果,特别是在大规模数据集情况下,MATCH 的效率提升更为明显。原创 2024-04-30 09:41:27 · 203 阅读 · 0 评论 -
Doris 数据集成 Kafka
目前公司的很多数据服务都开始使用Doris 了,目前使用下来感觉还是很方便的,比起Hadoop 那一套少了很多运维的成本,而且整体的效率也不错,现在也要把ELK 那一套日志分析的替换掉,后面日志分析也走Doris。关于如何使用Doris做日志分析,可以参考之前的文章,不过第一步也不是日志分析,而是如何对接Kafka ,因为目前日志数据是在kafka 里的,这里我调研了一下。这是我们Doris 数据集成篇的第二篇,前面我们介绍过通过 Catalog进行集成的例子。就是我们要导入数据的表。原创 2024-04-27 09:01:27 · 24 阅读 · 0 评论 -
Doris 数据集成 Flink CDC
实时同步支持批量同步支持路由,和一些自定义选项支持schema 变更支持自动建表。原创 2024-04-26 20:46:33 · 30 阅读 · 0 评论 -
Doris物化视图
Doris 会根据当前查询的语句去自动选择一个最优的物化视图,从物化视图中读取数据并计算。其中 bitmap 和 hll 的聚合函数在查询匹配到物化视图后,查询的聚合算子会根据物化视图的表结构进行改写。创建物化视图是一个异步的操作,也就是说用户成功提交创建任务后,Doris 会在后台对存量的数据进行计算,直到创建成功。物化视图是将预先计算(根据定义好的 SELECT 语句)好的数据集,存储在 Doris 中的一个特殊的表。自动维护物化视图的数据会造成一些维护开销,会在后面的物化视图的局限性中展开说明。原创 2024-04-26 20:45:04 · 31 阅读 · 0 评论 -
Flink+Doris 实时数仓
简单来说,Aggregate模型就是预聚合模型,类似于Molap,通过提前定义key列及value列的聚合方式,在数据导入的时候已经将key列相同的数据按照value列的聚合方式聚合在一起,即最终表里key相同的数据只保留一条,value按照相应的规则计算。线上配置的监控1分钟执行一次,如果遇到任务暂停,会自动恢复导入任务,但是导致任务失败的脏数据会跳过,此时需要人工排查失败原因,修复后重新触发该条数据的导入。虽然同样无法利用预聚合的特性,但是不受聚合模型的约束,可以发挥列存模型的优势。原创 2024-04-26 20:43:21 · 26 阅读 · 0 评论 -
Doris 数据集成 Catalog
在创建catalog时,在properties 中指定刷新时间参数metadata_refresh_interval_sec ,以秒为单位,若在创建catalog时设置了该参数,FE 的master节点会根据参数值定时刷新该catalog。新的 Multi-Catalog 功能在原有的元数据层级上,新增一层Catalog,构成 Catalog -> Database -> Table 的三层元数据层级。默认情况下,外部数据源的元数据变动,如创建、删除表,加减列等操作,不会同步给 Doris。原创 2024-04-26 20:42:32 · 24 阅读 · 0 评论 -
Doris 数据丢失
建表的时候指定的长度是字节数而不是字符数数据长度不合适会导致数据被过滤,从而形成数据丢失的问题。原创 2024-04-26 20:41:43 · 16 阅读 · 0 评论 -
Doris 使用场景与特性
Doris整体架构如下图所示,Doris 架构非常简单,只有两类进程,主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。,主要负责数据存储、查询计划的执行。这两类进程都是可以横向扩展的,单集群可以支持到数百台机器,数十 PB 的存储容量。并且这两类进程通过一致性协议来保证服务的高可用和数据的高可靠。这种高度集成的架构设计极大的降低了一款分布式系统的运维成本。在使用接口。原创 2024-04-26 20:40:52 · 27 阅读 · 0 评论 -
Doris初识
到这里我们整个快速开始就结束了,我们从 Doris 安装部署、启停、创建库表、数据导入及查询,完整的体验了Doris的操作流程,下面开始我们 Doris 使用之旅吧,以及最后面我们会使用Doris来完成一个数据应用的搭建。原创 2024-04-26 20:39:52 · 26 阅读 · 0 评论 -
Doris 数据模型—Unique 模型
Unique 模型针对需要唯一主键约束的场景,可以保证主键唯一性约束。但是无法利用 ROLLUP 等预聚合带来的查询优势。对于聚合查询有较高性能需求的用户,推荐使用自1.2版本加入的写时合并实现。原创 2024-04-26 15:02:50 · 86 阅读 · 0 评论 -
Doris 数据模型—Duplicate 模型
Duplicate 模型的主要业务场景是日志分析,也就是业务数据没有主键的场景,因为没有主键所以可以分析任意维度Duplicate 适合任意维度的 Ad-hoc 查询。虽然同样无法利用预聚合的特性,但是不受聚合模型的约束,可以发挥列存模型的优势(只读取相关列,而不需要读取所有 Key 列)原创 2024-04-26 15:02:09 · 242 阅读 · 0 评论 -
Doris 数据模型—Aggregate 模型
Doris的key列是建表语句中指定的列,建表语句中的关键字’unique key’或’aggregate key’或’duplicate key’后面的列就是 Key 列,除了 Key 列剩下的就是 Value 列。因为在实现上,我们可以通过如“导入时对行进行计数,保存 count 的统计信息”,或者在查询时“仅扫描某一列数据, 获得 count 值”的方式,只需很小的开销,即可获得查询结果。也就是说,任何还未聚合的数据(比如说两个不同导入批次的数据),必须通过某种方式,以保证对外展示的一致性。原创 2024-04-26 14:59:39 · 223 阅读 · 0 评论 -
Doris 数据分布—Partition
这里我们只以 AGGREGATE KEY 数据模型为例进行说明。更多数据模型参阅Doris 数据模型列的基本类型,可以通过在 mysql-client 中执行查看。AGGREGATE KEY 数据模型中,所有没有指定聚合方式(SUM、REPLACE、MAX、MIN)的列视为 Key 列。而其余则为 Value 列。Key 列必须在所有 Value 列之前。尽量选择整型类型。因为整型类型的计算和查找效率远高于字符串。对于不同长度的整型类型的选择原则,遵循够用即可。原创 2024-04-26 14:55:10 · 152 阅读 · 0 评论 -
Doris 数据分布—Bucket(Tablet)
在Doris 中我们通过来指定分桶,其实这个和hive 的有点区别,在hive中我们是通过来指定下面我们通过一个例子来看一下-- Bucket`user_id` LARGEINT NOT NULL COMMENT "用户id",`date` DATE NOT NULL COMMENT "数据灌入日期时间",`timestamp` DATETIME NOT NULL COMMENT "数据灌入的时间戳",`city` VARCHAR(20) COMMENT "用户所在城市",原创 2024-04-26 14:54:18 · 406 阅读 · 0 评论 -
doris 安装部署
Doris的主要架构分为FE(frontend)、BE(backend)两个角色、两个进程,不依赖于外部的组件,极易部署、运维,FE和BE都有很好的拓展性。FE:存储和维护集群的元数据,负责接收和解析用户的查询请求,规划查询计化,调度查询结果,FE主要分为三个角色:Leader、Follower、ObserverBE:负责数据的主要存储和计算,以及根据FE生成的物理执行计划,然后进行查询(分布式,多节点并行执行查询,统一汇总)。原创 2024-04-26 14:53:36 · 440 阅读 · 0 评论