
实时数仓
文章平均质量分 93
武子康
Hi, I'm Zikang / 武子康
好奇心驱动的探索者 | INTJ / INFJ
我热爱探索一切值得深究的事物。对技术、成长、效率、认知、人生有着持续的好奇心和行动力。
坚信「飞轮效应」,相信每一次微小的积累,终将带来深远的改变。
展开
-
大数据-269 实时数仓 - DIM DW ADS 层处理 Scala实现将数据写出HBase等
DW(Data WareHouse 数据仓库层),包含 DWD、DWS、DIM 层数据加工而成,主要完成数据架构与整合,建立一致性的维度,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标。基于 DW 数据,整合汇总成主题域的服务数据,用于提供后续的业务查询等。在分析交易过程时,可以通过卖家、买家、商品和时间等维度描述交易发生的环境,所以维度的作用一般是查询约束、分类汇总以及排序等。转换 area 表 到 地区ID、地区的名字、城市ID、城市的名字、省份 ID、省份的名字 到 HBase 中。原创 2025-01-03 10:42:57 · 11259 阅读 · 0 评论 -
大数据-268 实时数仓 - ODS层 将 Kafka 中的维度表写入 DIM
在 Kafka 中写入维度表(DIM)通常涉及将实时或批处理数据从 Kafka 主题(Topic)读取,并根据数据流中的信息更新维度表(DIM),这在数据仓库或数据湖的 ETL(提取、转换、加载)过程中非常常见。维度表(DIM)存储的是与业务数据相关的维度信息,例如客户、产品、地理位置等,用于支持 OLAP(联机分析处理)查询。原创 2025-01-03 10:36:34 · 10566 阅读 · 0 评论 -
大数据-267 实时数仓 - ODS Lambda架构 Kappa架构 核心思想
在互联网企业中,常见的 ODS 数据有业务日志数据(Log)和业务 DB 数据两类,对于业务 DB 数据来说,从 MySQL 等关系型数据库的业务数据进行采集,然后导入到 Hive 中,是进行数据仓库生产的重要环节。它的作用是存储大量的结构化数据,并能进行频繁和可重复的分析。为了彻底解决这些问题,我们逐步实时 binlog 采集进行实时处理,binlog 是 MySQL的二进制日志,记录了 MySQL 中发生的所有数据的变化,MySQL 集群自身的主从同步就是基于 binlog 做的。原创 2025-01-02 17:20:15 · 8438 阅读 · 0 评论 -
大数据-266 实时数仓 - Canal 对接 Kafka 客户端测试
Canal 是阿里巴巴开源的 MySQL binlog 增量订阅与消费平台。它模拟 MySQL 的主从复制机制,通过解析 MySQL 的二进制日志(binlog),实现数据库变更的数据捕获(CDC, Change Data Capture)。数据同步:支持将数据库的变更数据同步到其他数据源或消息系统,如 Kafka、RocketMQ、Elasticsearch 等。实时性:基于 binlog 的解析和订阅,能够实现毫秒级的数据变更捕获。分布式架构:支持集群部署,满足高可用性和高吞吐量需求。原创 2025-01-02 17:14:12 · 6880 阅读 · 0 评论 -
大数据-265 实时数仓 - Canal 部署安装 启动服务 常见问题解决
Canal 是阿里巴巴开源的数据同步工具,用于 MySQL 数据库的增量日志解析和同步。它模拟 MySQL 从库协议,获取主库的 binlog 日志,从而实现实时数据捕获和传输,常用于数据迁移、缓存更新和搜索引擎同步等场景。Canal 集群模式通常结合 ZooKeeper 实现分布式协调,保证高可用性和负载均衡。独立实例模式:多个 Canal 实例独立运行,适合小规模场景。HA 模式:基于 ZooKeeper 实现主备切换,提高可靠性。原创 2024-12-31 09:09:21 · 6358 阅读 · 0 评论 -
大数据-264 实时数仓 - Canal MySQL的binlog研究 存储目录 变动信息 配置MySQL
MySQL 的二进制日志(Binary Log,简称 binlog)是 MySQL 数据库中的一种日志文件类型,它记录了对数据库执行的所有更改操作(不包括 SELECT 和 SHOW 等查询操作)。它主要用于数据恢复、复制和审计等场景。原创 2024-12-30 12:33:22 · 6203 阅读 · 0 评论 -
大数据-263 实时数仓 - Canal 工作原理 工作流程 MySQL Binglog基本介绍
Canal 是一款用于 MySQL 数据库 binlog 增量订阅和消费的开源工具。它主要用于解决数据同步和分布式事务问题,支持将数据库变更同步到其他系统中,比如消息队列、大数据平台等。Master 主库将改变记录写进二进制 binary log 中Slave 从库向 MySQL Master 发送 DUMP 协议,将 Master 主库的 binary log events 拷贝到它的中继日志(relay log)。Slave 从库读取并重做中继日志中的事件,将改变的数据同步到自己的数据库。原创 2024-12-30 08:52:57 · 5974 阅读 · 0 评论 -
大数据-262 实时数仓 - Canal 同步数据 介绍背景原理与优势 拉链表 实时统计
阿里巴巴 B2B 公司,由于业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,从 2010 年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅、消费的业务。Canal是用 Java 开发的基于数据库增量日志解析,提供增量数据订阅、消费的中间件。目前,Canal主要支持了 MySQL 的 Binlog 解析,解析完成后才利用 Canal Client 用来处理获得相关数据。原创 2024-12-29 09:03:35 · 7097 阅读 · 0 评论 -
大数据-261 实时数仓 - 业务数据库表结构 交易订单、订单产品、产品分类、商家店铺、地域组织表
实时数仓是一种数据仓库系统,区别于传统批处理数仓,它强调低延迟、高吞吐和高可用性。实时数仓能够处理流式数据或近实时的数据流,使企业能够及时监控关键指标并做出决策。实时数仓是现代企业实现实时决策和分析的重要工具,它通过低延迟、高并发的特点满足企业对时效性数据的需求。尽管实时数仓的搭建与维护具有一定的复杂性,但其在业务分析、风控管理和用户行为分析等方面具有显著优势。随着技术的发展,实时数仓将会更加智能化、云原生化,为企业带来更高的竞争力。原创 2024-12-28 11:45:27 · 6501 阅读 · 0 评论 -
大数据-260 实时数仓 - 项目背景与需求 实时数仓架构 需求分析 技术选型 逻辑架构
数据实时处理能力成为企业提升竞争力的一大因素,最初阶段主要采用来一个需求,编写一个实时任务的方式来处理实时数据,随着需求的增多,计算任务也相对增多,并且不同任务的开发人员不同,导致开发风格差异化,该阶段的实时数据处理缺乏统一的规划,代码风格差异化严重,在维护成本和开发效率上有很大障碍。CDH:最成型的发型版本,拥有最多的部署案例,提供强大的部署、管理和监控工具,国内使用最多的版本,拥有强大的社区支持,当遇到问题时,能够通过社区、论坛等网络资源快速获取解决方法。数据、任务和资源三个角度去管理 集群资源。原创 2024-12-27 10:27:03 · 6803 阅读 · 0 评论