不二人生
刀光剑影江湖情,摧枯拉朽浪滔滔。功名利禄拂衣去,山高水远路迢迢。一个上得了厅堂下得了厨房、左手写诗右手写词的男人
展开
-
Doris 全新分区策略 Auto Partition
自动分区在功能上基本覆盖了动态分区的使用场景,并带来分区规则前置的拓展,大大减轻了DBA 在管理数据时的工作负担。完成分区规则的定义后,大量的分区创建工作将全部由 Doris 自动完成。LIST 自动分区支持多列分区,每个自动创建的分区仅包含一个分区值,分区名长度不能超过 50。Auto List Partition 中,分区名的创建依赖某种特定的规则,对元数据维护具有特定的含义,长度 50 的分区名,所能包含的数据实际长度可能更短。RANGE 自动分区支持单个分区列,分区列类型必须为。原创 2024-08-07 12:16:45 · 10618 阅读 · 0 评论 -
Doris 数据集成 Apache Paimon
对于基线数据来说,Apache Paimon 在 0.6 版本中引入 Primary Key Table Read Optimized 功能后,使得查询引擎可以直接访问底层的 Parquet/ORC 文件,大幅提升了基线数据的读取效率。Apache Paimon 是一种数据湖格式,并创新性地将数据湖格式和 LSM 结构的优势相结合,成功将高效的实时流更新能力引入数据湖架构中,这使得 Paimon 能够实现数据的高效管理和实时分析,为构建实时湖仓架构提供了强大的支撑。原创 2024-08-06 16:38:23 · 10774 阅读 · 0 评论 -
Doris 数据集成 Apache Hudi
对于 Hudi COW 表的查询或者 MOR 表的 Read Optimized 查询而言,其数据都属于基线数据,可直接通过 Doris 原生的 Parquet Reader 读取数据文件,且可获得极速的查询响应。作为一种全新的开放式的数据管理架构,湖仓一体(Data Lakehouse)融合了数据仓库的高性能、实时性以及数据湖的低成本、灵活性等优势,帮助用户更加便捷地满足各种数据处理分析的需求,在企业的大数据体系中已经得到越来越多的应用。语句来查看一个下方示例的查询中,分别有多少基线数据和增量数据。原创 2024-08-06 16:37:12 · 10440 阅读 · 0 评论 -
Doris数据集成 Apache Iceberg
Apache Iceberg 是一种开源、高性能、高可靠的数据湖表格式,可实现超大规模数据的分析与管理。它支持 Apache Doris 在内的多种主流查询引擎,兼容 HDFS 以及各种对象云存储,具备 ACID、Schema 演进、高级过滤、隐藏分区和分区布局演进等特性,可确保高性能查询以及数据的可靠性及一致性,其时间旅行和版本回滚功能也为数据管理带来较高的灵活性。未来 ,Apache Iceberg 将作为 Apache Doris 的原生表引擎之一,提供更加完善的湖格式数据的分析、管理功能。原创 2024-08-06 16:28:13 · 10302 阅读 · 0 评论 -
Doris案例篇—云积天赫基于 Apache Doris 构建统一数仓的实践
前期,我们只是在部分功能上使用了 Apache Doris,用 Apache Doris 替代了 Spark+Impala 来实现实时圈人功能,出乎意料的是,Apache Doris 投入使用之后效果极佳,新版架构的实时圈人业务平均每个任务耗时由 3~5 分钟降低到 10 秒左右,并且在人群落地方面,使用存储更小的 Bitmap 代替原来的人群落地为表,不仅数据管理方便,而且磁盘空间占用减少了 80% 左右。早期,大数据平台的主要目的是为了满足较为单一的 BI 数据看板及报表功能。原创 2024-07-16 19:31:16 · 34690 阅读 · 0 评论 -
Doris 日志分析案例
前面我们介绍了,和,今天我们来看一个具体的案例,因为日志数据往往都是写到kafka 或者,是通过日志收集工具收集到kafka 中的。所以我们如果想要使用Doris进行日志分析的话,那我们需要做的一件事情,就是同步数据到Doris,这也就是我们前面介绍的功能,只不过我们上一节只是创建了一个测试的topic 和表,这一节我们看一个真实的案例。原创 2024-04-29 14:46:15 · 64981 阅读 · 5 评论 -
Doris 倒排索引—日志分析利器
Apache Doris 提供了丰富的索引以加速数据的读取和过滤,依据是否需要用户手工创建,索引类型大体可以分为智能内建索引和用户创建索引两类,其中智能内建索引是指在数据写入时自动生成的索引,无需用户干预,包括前缀索引和 ZoneMap 索引。因此,即使不添加倒排索引仍能展现较好的查询效果。这里需要说明的是,MATCH 与 LIKE 查询的差异在于,MATCH 查询时会忽略大小写,把句子切分成一个个词来匹配,能够更快速定位符合条件的结果,特别是在大规模数据集情况下,MATCH 的效率提升更为明显。原创 2024-04-29 14:41:49 · 62868 阅读 · 1 评论 -
Doris 数据集成 Kafka
这是我们Doris 数据集成篇的第二篇,前面我们介绍过通过 Catalog进行集成的例子目前公司的很多数据服务都开始使用Doris 了,目前使用下来感觉还是很方便的,比起Hadoop 那一套少了很多运维的成本,而且整体的效率也不错,现在也要把ELK 那一套日志分析的替换掉,后面日志分析也走Doris。关于如何使用Doris做日志分析,可以参考之前的文章,不过第一步也不是日志分析,而是如何对接Kafka ,因为目前日志数据是在kafka 里的,这里我调研了一下使用Flink 和 Doris 的。原创 2024-04-26 14:43:08 · 66092 阅读 · 5 评论 -
Flink CDC 同步数据到Doris
实时同步支持批量同步支持路由,和一些自定义选项支持schema 变更支持自动建表。原创 2024-03-29 21:04:35 · 66508 阅读 · 1 评论 -
Doris案例篇—Doris 在思必驰的应用实践
Apache Doris 支持构建离线+实时统一数仓,一个 ETL 脚本即可支持实时和离线数仓,大大缩短开发周期,降低存储成本,避免了离线和实时指标不一致等问题。Apache Doris 1.1.x 版本开始全面支持向量化计算,较之前版本查询性能提升 2-3 倍。经测试,Apache Doris 1.1.x 版本在宽表场景的查询性能已基本与 ClickHouse 持平。功能强大,不依赖其他组件。原创 2024-03-29 08:56:26 · 65353 阅读 · 1 评论 -
Doris在日志分析中的应用
使用basic auth进行 HTTP 鉴权,用命令来计算设置,指定数据格式为 JSON设置,指定每行一个 JSON设置,指定一次写入一个分桶目前建议写入客户端一个 Batch 100MB ~ 1GB,后续版本会通过服务端 Group Commit 降低客户端 Batch 大小curl \查询Doris 支持标准 SQL,可以通过 MySQL客 户端或者通过 JDBC 等方式连接到集群,然后执行 SQL 进行查询。下面是日志分析场景中,常见的几种查询。查看最新的 10 条数据。原创 2024-03-29 08:51:12 · 64050 阅读 · 1 评论 -
Doris 如何基于自增列满足高效字典编码等典型场景需求
在使用自增列时,需要在建[ CREATE-TABLE 时为对应的列添加属性。若要手动指定自增列起始值,可以在建表时通过语句指定,若未指定,则默认起始值为 1。创建一个 Dupliciate 模型表,其中一个 Key 列为自增列自增列也可以用于 Value 列,下方语句示例创建 Dupliciate 模型表,其中一个 Value 列是自增列自增列支持 Duplicate Key 和 Unique Key 两种模型,Unique Key 模型的使用与 Duplicate Key 模型类似,在此不再赘述。原创 2024-03-27 20:46:59 · 60206 阅读 · 1 评论 -
Doris 数据集成 Catalog
在创建catalog时,在properties 中指定刷新时间参数metadata_refresh_interval_sec ,以秒为单位,若在创建catalog时设置了该参数,FE 的master节点会根据参数值定时刷新该catalog。新的 Multi-Catalog 功能在原有的元数据层级上,新增一层Catalog,构成 Catalog -> Database -> Table 的三层元数据层级。默认情况下,外部数据源的元数据变动,如创建、删除表,加减列等操作,不会同步给 Doris。原创 2024-03-27 20:36:14 · 56967 阅读 · 1 评论 -
Doris基础篇—安装部署
的命令,其实就是扩容,这里我们主要是想通过添加FE ,实现高可用,其实做法很简单,我们分发我们之前的FE 安装包,到我们需要安装的节点,然后按照之前FE 的配置进行配置,然后启动。FE:存储和维护集群的元数据,负责接收和解析用户的查询请求,规划查询计化,调度查询结果,FE主要分为三个角色:Leader、Follower、Observer。Doris的主要架构分为FE(frontend)、BE(backend)两个角色、两个进程,不依赖于外部的组件,极易部署、运维,FE和BE都有很好的拓展性。原创 2024-03-22 12:34:33 · 35527 阅读 · 0 评论 -
Doris案例篇—美团外卖数仓中的应用实践
Doris是基于MPP架构的OLAP引擎,主要整合了Google Mesa(数据模型)、Apache Impala(MPP Query Engine)和Apache ORCFile (存储格式,编码和压缩)的技术。Doris的系统架构如下,主要分为FE和BE两个组件,FE主要负责查询的解析、编译、优化、调度和元数据管理;BE主要负责查询的执行和数据存储。关于Doris的更多技术细节,可参考其官方文档。整体架构同时支持高并发点查询和高吞吐的Ad-hoc查询。同时支持离线批量导入和实时数据导入。原创 2024-03-19 12:16:53 · 34615 阅读 · 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-01-12 15:45:08 · 33588 阅读 · 0 评论 -
Doris 数据分布—Partition
这里我们只以 AGGREGATE KEY 数据模型为例进行说明。更多数据模型参阅Doris 数据模型列的基本类型,可以通过在 mysql-client 中执行查看。AGGREGATE KEY 数据模型中,所有没有指定聚合方式(SUM、REPLACE、MAX、MIN)的列视为 Key 列。而其余则为 Value 列。Key 列必须在所有 Value 列之前。尽量选择整型类型。因为整型类型的计算和查找效率远高于字符串。对于不同长度的整型类型的选择原则,遵循够用即可。原创 2024-01-12 15:11:31 · 33255 阅读 · 0 评论 -
Doris 数据模型—Duplicate 模型
Duplicate 模型的主要业务场景是日志分析,也就是业务数据没有主键的场景,因为没有主键所以可以分析任意维度Duplicate 适合任意维度的 Ad-hoc 查询。虽然同样无法利用预聚合的特性,但是不受聚合模型的约束,可以发挥列存模型的优势(只读取相关列,而不需要读取所有 Key 列)原创 2024-01-11 17:34:51 · 33156 阅读 · 0 评论 -
Doris 数据模型—Unique 模型
Unique 模型针对需要唯一主键约束的场景,可以保证主键唯一性约束。但是无法利用 ROLLUP 等预聚合带来的查询优势。对于聚合查询有较高性能需求的用户,推荐使用自1.2版本加入的写时合并实现。原创 2024-01-11 16:14:11 · 34669 阅读 · 0 评论 -
Doris 数据模型—Aggregate 模型
Doris的key列是建表语句中指定的列,建表语句中的关键字’unique key’或’aggregate key’或’duplicate key’后面的列就是 Key 列,除了 Key 列剩下的就是 Value 列。因为在实现上,我们可以通过如“导入时对行进行计数,保存 count 的统计信息”,或者在查询时“仅扫描某一列数据, 获得 count 值”的方式,只需很小的开销,即可获得查询结果。也就是说,任何还未聚合的数据(比如说两个不同导入批次的数据),必须通过某种方式,以保证对外展示的一致性。原创 2024-01-11 16:01:31 · 34758 阅读 · 0 评论 -
Doris案例篇— 工商信息商业查询平台的湖仓一体建设实践(02)
信息服务行业可以提供多样化、便捷、高效、安全的信息化服务,为个人及商业决策提供了重要支撑与参考。本文以某工商信息商业查询平台为例,介绍其从传统 Lambda 架构到基于 Doris Multi-Catalog 的湖仓一体架构演进历程。同时通过一系列实践,展示了如何保证数据的准确性和实时性,以及如何高效地处理和分析大规模数据,为信息服务行业提供了有价值的参考思路,有助于推动整个行业的发展和创新。在社会信息化水平不断升高趋势下,人们对信息的依赖程度越来越高,信息服务行业持续发挥着重要的作用。原创 2024-01-08 22:42:29 · 35136 阅读 · 0 评论 -
Doris 案例篇——长安汽车基于 Doris 的车联网数据分析平台建设实践
凭借 Apache Doris 卓越的性能,目前在长安汽车已经部署数十台机器,支撑了近十条业务线,每天处理数据规模达到百亿级别。Apache Doris 的引入为长安汽车在提升用户用车体验、实时预警车辆故障、保证车辆安全驾驶等方面带来显著成果,为其在智能化方向的技术创新提供了有力支持。自动识别冷热数据:将热数据存储在 Apache Doris 中,冷数据存储在 Hive 中,通过这种方式实现更高效的数据访问和管理。原创 2024-01-08 22:23:28 · 35945 阅读 · 0 评论 -
Doris基础篇—初识
到这里我们整个快速开始就结束了,我们从 Doris 安装部署、启停、创建库表、数据导入及查询,完整的体验了Doris的操作流程,下面开始我们 Doris 使用之旅吧,以及最后面我们会使用Doris来完成一个数据应用的搭建。原创 2024-01-07 15:14:31 · 35253 阅读 · 0 评论 -
Doris 基础篇—使用场景与特性
Doris整体架构如下图所示,Doris 架构非常简单,只有两类进程,主要负责用户请求的接入、查询解析规划、元数据的管理、节点管理相关工作。,主要负责数据存储、查询计划的执行。这两类进程都是可以横向扩展的,单集群可以支持到数百台机器,数十 PB 的存储容量。并且这两类进程通过一致性协议来保证服务的高可用和数据的高可靠。这种高度集成的架构设计极大的降低了一款分布式系统的运维成本。在使用接口。原创 2024-01-07 15:17:43 · 35497 阅读 · 0 评论 -
Doris进阶篇—Flink+Doris 实时数仓
简单来说,Aggregate模型就是预聚合模型,类似于Molap,通过提前定义key列及value列的聚合方式,在数据导入的时候已经将key列相同的数据按照value列的聚合方式聚合在一起,即最终表里key相同的数据只保留一条,value按照相应的规则计算。线上配置的监控1分钟执行一次,如果遇到任务暂停,会自动恢复导入任务,但是导致任务失败的脏数据会跳过,此时需要人工排查失败原因,修复后重新触发该条数据的导入。虽然同样无法利用预聚合的特性,但是不受聚合模型的约束,可以发挥列存模型的优势。原创 2023-10-07 09:21:19 · 37161 阅读 · 0 评论 -
Doris基础篇—数据丢失
建表的时候指定的长度是字节数而不是字符数数据长度不合适会导致数据被过滤,从而形成数据丢失的问题。原创 2023-06-21 16:14:10 · 38683 阅读 · 0 评论