标签: kafka

共 34 篇文章

大数据-268 实时数仓 - ODS层 将 Kafka 中的维度表写入 DIM

在 Kafka 中写入维度表(DIM)通常涉及将实时或批处理数据从 Kafka 主题读取,并根据数据流中的信息更新维度表。维度表存储与业务数据相关的维度信息,如客户、产品、地理位置等,用于支持 OLAP 查询。

大数据-269 实时数仓 - DIM DW ADS 层处理 Scala实现将数据写出HBase等

DW(Data WareHouse 数据仓库层),包含 DWD、DWS、DIM 层数据加工而成,主要完成数据架构与整合,建立一致性的维度,构建可复用的面向分析和统计的明细事实表,以及汇总公共粒度的指标。基于 DW 数据,整合汇总成主题域的服务数据,用于提供后续的业务查询等。在分析交易过程时,可以通过卖家、买家、商品和时间等维度描述交易发生的环境,所以维度的作用一般是查询约束、分类汇总以及排序等。转换 area 表 到 地区ID、地区的名字、城市ID、城市的名字、省份 ID、省份的名字 到 HBase 中。

大数据-266 实时数仓 - Canal 对接 Kafka 客户端测试

本文介绍了阿里巴巴开源的Canal工具,它通过解析MySQL的binlog实现数据库变更的数据捕获(CDC)。文章展示了如何将Canal与Kafka集成,实现数据库变更到消息队列的实时推送,包含INSERT、UPDATE、DELETE操作的JSON格式示例。

大数据-267 实时数仓 - ODS Lambda架构 Kappa架构 核心思想

在互联网企业中,常见的 ODS 数据有业务日志数据(Log)和业务 DB 数据两类,对于业务 DB 数据来说,从 MySQL 等关系型数据库的业务数据进行采集,然后导入到 Hive 中,是进行数据仓库生产的重要环节。它的作用是存储大量的结构化数据,并能进行频繁和可重复的分析。为了彻底解决这些问题,我们逐步实时 binlog 采集进行实时处理,binlog 是 MySQL的二进制日志,记录了 MySQL 中发生的所有数据的变化,MySQL 集群自身的主从同步就是基于 binlog 做的。

大数据-265 实时数仓 - Canal 部署安装 启动服务 常见问题解决

Canal 是阿里巴巴开源的数据同步工具,用于 MySQL 数据库的增量日志解析和同步。它模拟 MySQL 从库协议,获取主库的 binlog 日志,从而实现实时数据捕获和传输,常用于数据迁移、缓存更新和搜索引擎同步等场景。Canal 集群模式通常结合 ZooKeeper 实现分布式协调,保证高可用性和负载均衡。

大数据-263 实时数仓 - Canal 工作原理 工作流程 MySQL Binlog基本介绍

Canal 是一款用于 MySQL 数据库 binlog 增量订阅和消费的开源工具。它主要用于解决数据同步和分布式事务问题,支持将数据库变更同步到其他系统中,比如消息队列、大数据平台等。Master 主库将改变记录写进二进制 binary log 中Slave 从库向 MySQL Master 发送 DUMP 协议,将 Master 主库的 binary log events 拷贝到它的中继日志(relay log)。Slave 从库读取并重做中继日志中的事件,将改变的数据同步到自己的数据库。

大数据-264 实时数仓 - Canal MySQL的binlog研究 存储目录 变动信息 配置MySQL

MySQL 的二进制日志(Binary Log,简称 binlog)是 MySQL 数据库中的一种日志文件类型,它记录了对数据库执行的所有更改操作(不包括 SELECT 和 SHOW 等查询操作)。它主要用于数据恢复、复制和审计等场景。

大数据-262 实时数仓 - Canal 同步数据 介绍背景原理与优势 拉链表 实时统计

阿里巴巴 B2B 公司,由于业务的特性,卖家主要集中在国内,买家主要集中在国外,所以衍生出了杭州和美国异地机房的需求,从 2010 年开始,阿里系公司开始逐步的尝试基于数据库的日志解析,获取增量变更进行同步,由此衍生出了增量订阅、消费的业务。Canal是用 Java 开发的基于数据库增量日志解析,提供增量数据订阅、消费的中间件。目前,Canal主要支持了 MySQL 的 Binlog 解析,解析完成后才利用 Canal Client 用来处理获得相关数据。

大数据-261 实时数仓 - 业务数据库表结构 交易订单、订单产品、产品分类、商家店铺、地域组织表

实时数仓是一种数据仓库系统,区别于传统批处理数仓,它强调低延迟、高吞吐和高可用性。实时数仓能够处理流式数据或近实时的数据流,使企业能够及时监控关键指标并做出决策。

大数据-89 Spark Streaming 整合 Kafka:Receiver 与 Direct 模式全解析

详解 Spark Streaming 接入 Kafka 的两种模式:基于 Receiver 的高级 API 与 Direct 直连模式的架构差异、偏移量管理、Exactly-Once 语义保证及完整 Scala 代码实现。

大数据-86 Spark Streaming 数据源详解:文件流、Socket、RDD 队列流

全面讲解 Spark Streaming 三种基础数据源的原理与实现:文件流监控目录、Socket TCP 接入、RDD 队列模拟测试,附完整 Scala 代码示例。

大数据-189 Nginx JSON 日志接入 ELK:ZK+Kafka+Elasticsearch 7.3.0+Kibana 实战搭建

通过 Nginx 配置 log_format json 输出结构化 access_log(包含 @timestamp、request_time、status、request_uri、ua 等字段),在多节点(h121/h122/h123)启动 Zookeeper 与 Kafka 做日志缓冲与解耦,再启动 Elasticsearch 7.3.0 存储检索,最后用 Kibana 7.3.0 完成检索与可视化。

大数据-190 Filebeat→Kafka→Logstash→Elasticsearch 实战

Filebeat 采集 Nginx access.log 写入 Kafka,Logstash 从 Kafka 消费后按字段(app/type)条件解析 message 内嵌 JSON,叠加 GeoIP(GeoLite2-City.mmdb)生成坐标字段并写入 Elasticsearch 索引(logstash-%{type}-%{+YYYY.MM.dd}),再交给 Kibana 展示。

大数据-166 Apache Kylin 1.6 Streaming Cubing 实战:Kafka 到分钟级 OLAP

Kafka→Kylin 的实时 OLAP 链路,面向 2025 年常见业务(电商交易、用户行为、IoT 监控)提供分钟级聚合查询。

大数据-65 Kafka 存储机制深度解析:日志分段、索引原理与消息保留策略

深入分析 Kafka 的日志存储架构,包括 LogSegment 分段设计、稀疏偏移量索引与时间戳索引的工作原理、消息查找流程,以及日志保留与清理策略配置。

大数据-66 Kafka 高性能底层原理:零拷贝、mmap 与顺序写入全解析

深入剖析 Kafka 实现高吞吐的三大 I/O 技术:sendfile 零拷贝、mmap 内存映射与页缓存顺序写入,揭秘每秒百万级消息处理背后的内核级优化。

大数据-63 Kafka 副本机制详解:高可用性、ISR 原理与 Leader 选举全解析

深入剖析 Kafka 副本机制的工作原理,包括 ISR 同步节点集合的维护逻辑、Leader 选举流程,以及 unclean 选举在一致性与可用性之间的权衡。

大数据-64 Kafka Exactly-Once 语义详解:幂等性、事务与精确一次消费

系统讲解 Kafka 如何通过幂等生产者和事务机制实现精确一次(Exactly-Once)语义,覆盖 PID/序列号原理、跨分区事务配置与端到端 EOS 实现方案。

大数据-156 Apache Druid+Kafka 实时分析实战:JSON 拉平摄取与 SQL 指标全流程

Scala Kafka Producer 将订单/点击数据写入 Kafka Topic(示例 topic: druid2),在 Druid 中通过 Kafka Indexing Service 进行连续摄取。由于原始记录为嵌套 JSON(orders 内含 products 数组),先进行 JSON 拉平预处理,随后在 Druid 设置正确的 timestampSpec,禁用 Rollup,并以 SQL 执行核心指标:订单总数、用户总数、按状态/支付方式聚合、订单金额 TopN 等。

大数据-153 Apache Druid 实时接入 Kafka:从摄取到查询的完整实战

本文介绍Apache Druid实时接入Kafka的完整实战,以网络流量JSON为例,通过Druid控制台的Streaming/Kafka向导完成数据接入、解析时间列、设定维度与指标,并使用SQL验证结果。

大数据-61 Kafka 主题、分区与消费者机制详解:从基础概念到重平衡优化

深入解析 Kafka 的 Topic、Partition、Consumer Group 核心机制,涵盖自定义反序列化、偏移量管理与重平衡优化配置,帮助构建高吞吐消息消费系统。

大数据-62 Kafka Topic 管理与运维实战:命令详解 + 副本分配策略 + Java API

全面介绍 Kafka Topic 的运维管理方法,包括 kafka-topics.sh 命令操作、副本均衡分配算法原理,以及 KafkaAdminClient Java API 的核心用法。

大数据-59 Kafka Producer 拦截器与拦截器链机制详解

讲解 Kafka 0.10 引入的 Producer 拦截器机制,包括 onSend 和 onAcknowledgement 两个拦截点的作用、拦截器链的执行顺序与错误隔离,以及自定义拦截器的完整实现。

大数据-60 Kafka Consumer 消费流程、心跳机制与参数调优

详解 Kafka Consumer Group 的消费模型、分区分配策略、心跳保活机制,以及 session.timeout.ms、heartbeat.interval.ms、max.poll.interval.ms 等关键参数的调优实践。

大数据-57 Kafka Producer 消息发送流程与核心参数详解

深入解析 Kafka Producer 初始化、消息拦截、序列化、分区路由、缓冲批量发送、ACK 确认等完整发送链路,并给出关键参数的调优建议。

大数据-58 Kafka 序列化机制与分区策略:自定义实现详解

深入讲解 Kafka 消息序列化原理与分区路由策略,包含自定义 Serializer 和 Partitioner 的完整代码实现,帮助掌握消息精准路由与高效传输。

大数据-55:Kafka 实战操作——Shell 管理命令与 Java 客户端示例

覆盖 Kafka 日常运维的 Shell 命令(主题管理、消息收发)与 Java 客户端编程(Producer/Consumer 完整代码),包含关键配置参数说明和 ConsumerRebalanceListener 使用。

大数据-56 Spring Boot 整合 Kafka 实现分布式消息收发

详解如何在 Spring Boot 项目中集成 Kafka,包括依赖配置、KafkaTemplate 同步/异步发送消息、@KafkaListener 消费消息的完整实践。

大数据-53:Kafka 组件详解——Producer、Broker、Consumer 全流程

深入拆解 Kafka 三大核心组件的工作原理:Producer 分区策略与 ACK 机制、Broker 的 Leader/Follower 架构、Consumer Group 的分区分配与偏移量管理。

大数据-54:Kafka 安装部署——从 ZooKeeper 到 KRaft 的架构演进

介绍 Kafka 2.x 与 3.x 的核心差异,详细讲解集群安装步骤、ZooKeeper 配置、Broker 参数设置,以及 KRaft 模式如何彻底替代 ZooKeeper 依赖。

大数据-52:Kafka 架构解析——高吞吐分布式消息系统设计

系统介绍 Kafka 的核心架构设计,包括 Topic/Partition/Replica 模型、ISR 机制、零拷贝优化、消息格式与典型应用场景,理解 Kafka 实现百万级 TPS 的工程原理。

大数据-103 Spark Streaming 消费 Kafka:Offset 获取、存储与恢复详解

Spark Streaming 集成 Kafka 时,Offset 管理是保证数据处理连续性与一致性的关键环节。Offset 用于标记消息在分区中的位置,应用可通过它来控制消费进度。若在程序异常退出前未持久化保存 Offset,则会导致数据丢失或重复消费。常见管理方式包括:使用 Checkpoint 保存元数据和 Offset,支持故障恢复但存在版本兼容问题;依赖 Kafka 内置的提交机制,实现简单但控制粒度有限;或选择外部存储(如 Redis、MySQL、HBase、ZooKeeper),通过手动管理。

大数据-104 Spark Streaming 与 Kafka 集成:Offset 管理机制详解与最佳实践 Scala实现

Offset用于标记Kafka分区内消息的位置,正确管理能够实现"至少一次"甚至"仅一次"的数据处理语义。通过持久化Offset,应用在故障恢复时可从上次处理的位置继续消费,避免消息丢失或重复。

大数据-102 Spark Streaming 与 Kafka 集成全解析:Receiver 与 Direct 两种方式详解 附代码案例

本文介绍了 Spark Streaming 与 Kafka 的两种集成方式:Receiver Approach 和 Direct Approach。Receiver 方式通过 Executor 上的 Receiver 持续接收数据,依赖 BlockManager 管理数据块,可通过 WAL 增强可靠性;Direct 方式不依赖 Receiver,直接生成与 Kafka 分区对应的 KafkaRDD,提升吞吐效率,支持手动维护 Offset 实现 Exactly Once 语义。