SF
代码匠心
代码匠心
注册登录
关注博客
注册登录
主页
关于
RSS
从零开始学Flink:TopN 榜单
代码匠心
4 月 3 日
阅读 7 分钟
712
在上一篇 《从零开始学Flink:Flink SQL四大Join解析》结尾提到过,下一篇要把 窗口聚合(Window Aggregation)与 TopN 讲清楚。窗口负责把无界流切成可统计的时间片,TopN 负责把“统计结果”变成榜单输出;两者组合起来,PV/UV、订单量、热销榜、实时大屏基本都能覆盖。
从零开始学Flink:Flink SQL四大Join解析
代码匠心
3 月 8 日
阅读 6 分钟
750
在上一篇 《从零开始学Flink:实时数仓与维表时态Join实战》 中,我们通过引入 Hive Catalog,解决了 Flink SQL 元数据管理的痛点。今天,我们将目光聚焦于实时数仓建设中最核心、也最容易“踩坑”的环节——多流关联(Join)。作为一名大数据工程师,你可能经常面临这样的灵魂拷问:"为什么我的双流 Join 跑着跑着就 OOM 了...
AI 自动编程:一句话设计高颜值博客
代码匠心
2 月 28 日
阅读 6 分钟
970
在 AI-Native 时代,开发者的角色正在从“代码编写者”向“架构设计者”转变。Claude Code 作为 Anthropic 推出的下一代命令行 AI 助手,不仅仅是一个代码补全工具,更是一个具备 Agentic Workflow(代理工作流)能力的智能终端。
从零开始学Flink:Flink SQL 元数据持久化实战
代码匠心
2 月 25 日
阅读 10 分钟
815
痛点:会话窗口一旦关闭,或者 Flink 集群重启,辛辛苦苦编写的 CREATE TABLE、CREATE VIEW 等 DDL 语句瞬间“归零”。每次调试都需要从头再来,重复建表。
从零开始学Flink:实时数仓与维表时态Join实战
代码匠心
2 月 19 日
阅读 6 分钟
1.3k
在前一篇 《Flink 双流 JOIN 实战详解》 中,我们用「订单流 + 支付流」搞懂了事实双流之间的时间关联。但在真实的实时数仓项目里,光有事实流还不够,业务同学更关心的是:下单用户是新客还是老客用户当前的等级、城市、渠道商品所属品类、类目层级这些信息通常存放在 维度表(维表)中,例如 MySQL 的 dim_user、dim_p...
从零开始学Flink:Flink 双流 JOIN 实战详解
代码匠心
2 月 16 日
阅读 5 分钟
987
在前一篇 《Flink SQL 窗口(Window)操作详解》 中,我们已经打好了时间与窗口的基础。但在真实业务里,单条流上的聚合往往只是第一步,更常见的需求是把多条业务流关联起来一起看,例如:
从零开始学Flink:Flink SQL 窗口(Window)操作详解
代码匠心
2 月 9 日
阅读 3 分钟
751
在上一篇 Flink SQL 极简入门 中,我们体验了 Flink SQL 的基础用法。但在流处理中,最核心、最迷人(也最让人头秃)的概念莫过于“时间”和“窗口(Window)”。
从零开始学Flink:Flink SQL 极简入门
代码匠心
2 月 6 日
阅读 3 分钟
908
Flink SQL 是 Apache Flink 的核心模块之一,它让开发者可以使用标准的 SQL 语法来编写流处理和批处理作业。对于不想深究 Java/Scala 复杂 API 的“小白”来说,Flink SQL 是进入实时计算领域的最佳敲门砖。
Trae IDE 隐藏玩法:接入即梦 AI,生成高质量大片!
代码匠心
2 月 5 日
阅读 2 分钟
1.3k
今天,我们将解锁 Trae IDE 的隐藏技能——结合开源神器 jimeng-api,从零打造一个专属的 AI 绘图技能。无需复杂的代码,只需简单的配置,你的 IDE 就能变身“神笔马良”,免费生成高质量大片!
从零开始学Flink:状态管理与容错机制
代码匠心
2 月 4 日
阅读 4 分钟
803
流式计算任务通常需要 7x24 小时长期运行,面对网络抖动、机器故障或代码 Bug,如何保证任务不挂?或者挂了之后能自动恢复且数据不丢、不重?这正是 Flink 引以为傲的资本:强大的状态管理与基于 Checkpoint 的容错机制。
从零开始学Flink:事件驱动
代码匠心
2025-11-04
阅读 6 分钟
1.3k
在实时计算领域,很多业务逻辑天然适合“事件驱动”模式:当事件到达时触发处理、在某个时间点触发补偿或汇总、根据状态变化发出告警等。Apache Flink 为此提供了强大的 ProcessFunction 家族(KeyedProcessFunction、CoProcessFunction、BroadcastProcessFunction 等),它们在算子层面同时具备“事件处理 + 定时器 + 状态...
Lambda架构:实时与批处理的完美融合
代码匠心
2025-10-18
阅读 4 分钟
1.5k
在当今数据爆炸的时代,企业面临着前所未有的数据处理挑战——如何同时满足海量历史数据的批处理分析需求和实时数据的低延迟查询需求?2014年,Storm的作者Nathan Marz提出了一种革命性的架构模式——Lambda架构,为解决这一矛盾提供了优雅的解决方案。
从零开始学Flink:流批一体的执行模式
代码匠心
2025-10-13
阅读 8 分钟
1.3k
在大数据处理领域,批处理和流处理曾经被视为两种截然不同的范式。然而,随着Apache Flink的出现,这种界限正在逐渐模糊。Flink的一个核心特性是其批流一体的架构设计,允许用户使用统一的API和执行引擎处理有界数据(批处理)和无界数据(流处理)。本文将深入探讨Flink的执行模式(Execution Mode),特别是在Flink 1....
从零开始学Flink:实时流处理实战
代码匠心
2025-10-09
阅读 7 分钟
1.3k
在大数据处理领域,实时流处理正变得越来越重要。Apache Flink作为领先的流处理框架,提供了强大而灵活的API来处理无界数据流。本文将通过经典的SocketWordCount示例,深入探讨Flink实时流处理的核心概念和实现方法,帮助你快速掌握Flink流处理的实战技能。
从零开始学Flink:数据转换的艺术
代码匠心
2025-10-07
阅读 19 分钟
1.3k
在实时数据处理流程中,数据转换(Transformation)是连接数据源与输出结果的桥梁,也是体现计算逻辑的核心环节。Flink提供了丰富的数据转换操作,让开发者能够灵活地对数据流进行各种处理和分析。本文将以Flink DataStream API为核心,带你探索Flink数据转换的精妙世界,并结合之前文章中的Kafka Source实现一个完整的...
从零开始学Flink:数据输出的终极指南
代码匠心
2025-10-07
阅读 23 分钟
1.3k
在实时数据处理的完整链路中,数据输出(Sink)是最后一个关键环节,它负责将处理后的结果传递到外部系统供后续使用。Flink提供了丰富的数据输出连接器,支持将数据写入Kafka、Elasticsearch、文件系统、数据库等各种目标系统。本文将深入探讨Flink数据输出的核心概念、配置方法和最佳实践,并基于Flink 1.20.1构建一个...
从零开始学Flink:数据源
代码匠心
2025-09-18
阅读 12 分钟
1.3k
在实时数据处理场景中,数据源(Source)是整个数据处理流程的起点。Flink作为流批一体的计算框架,提供了丰富的Source接口支持,其中通过Kafka获取实时数据是最常见的场景之一。本文将以Flink DataStream API为核心,带你从0到1实现“从Kafka消费数据并输出到日志”的完整流程,掌握Flink Source的核心用法。
从零开始学Flink:揭开实时计算的神秘面纱
代码匠心
2025-06-08
阅读 10 分钟
1.5k
当你在电商平台秒杀商品时,1毫秒的延迟可能导致交易失败;当自动驾驶汽车遇到障碍物时,10毫秒的计算延迟可能酿成事故。这些场景揭示了一个残酷事实:数据的价值随时间呈指数级衰减。
从零开始学Flink:开启实时计算的魔法之旅
代码匠心
2025-05-05
阅读 3 分钟
1.4k
在凌晨三点的数据监控大屏前,某电商平台的技术负责人突然发现一个异常波动:支付成功率骤降15%。传统的数据仓库此时还在沉睡,而基于Flink搭建的实时风控系统早已捕捉到这个信号,自动触发预警机制。当运维团队赶到时,系统已经完成异常交易拦截、服务节点自动切换和用户补偿方案推送。这不是科幻场景,而是Flink赋予企...
从零开始学Spring Boot系列-集成Spring Security实现用户认证与授权
代码匠心
2024-06-29
阅读 9 分钟
2.3k
在Web应用程序中,安全性是一个至关重要的方面。Spring Security是Spring框架的一个子项目,用于提供安全访问控制的功能。通过集成Spring Security,我们可以轻松实现用户认证、授权、加密、会话管理等安全功能。本篇文章将指导大家从零开始,在Spring Boot项目中集成Spring Security,并通过MyBatis-Plus从数据库中获取...
从零开始学Spring Boot系列-外部化配置
代码匠心
2024-04-10
阅读 17 分钟
1.9k
Spring Boot 允许你将配置外部化,以便可以在不同的环境中使用相同的应用程序代码。可以使用属性文件、YAML文件、环境变量和命令行参数将配置外部化。属性值可以通过使用 @Value 注解直接注入 bean,可以通过 Spring 的 Environment 抽象访问,也可以通过 @ConfigurationProperties。
从零开始学Spring Boot系列-SpringApplication
代码匠心
2024-04-07
阅读 3 分钟
1.6k
SpringApplication类提供了一种从main()方法启动Spring应用的便捷方式。在很多情况下, 你只需委托给 SpringApplication.run这个静态方法 :
从零开始学Spring Boot系列-集成MyBatis-Plus
代码匠心
2024-04-04
阅读 6 分钟
1.9k
在Spring Boot应用开发中,MyBatis-Plus是一个强大且易于使用的MyBatis增强工具,它提供了很多实用的功能,如代码生成器、条件构造器、分页插件等,极大地简化了MyBatis的使用和配置。本篇文章将指导大家如何在Spring Boot项目中集成MyBatis-Plus。
从零开始学Spring Boot系列-集成Kafka
代码匠心
2024-03-21
阅读 4 分钟
1.8k
Apache Kafka是一个开源的分布式流处理平台,由LinkedIn公司开发和维护,后来捐赠给了Apache软件基金会。Kafka主要用于构建实时数据管道和流应用。它类似于一个分布式、高吞吐量的发布-订阅消息系统,可以处理消费者网站的所有动作流数据。这种动作流数据包括页面浏览、搜索和其他用户的行动。通过这些数据,Kafka能够实...
从零开始学Spring Boot系列-集成Redis
代码匠心
2024-03-16
阅读 6 分钟
1.1k
在开始集成之前,了解Redis的基础知识是非常重要的。Redis是一个开源的、使用ANSI C编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(string)、哈希(Hash)、列表(list)、集合(sets)、有序集合(sorted sets)等类型。集...
从零开始学Spring Boot系列-集成mybatis
代码匠心
2024-03-10
阅读 5 分钟
1.9k
在Spring Boot的应用开发中,MyBatis是一个非常流行的持久层框架,它支持定制化SQL、存储过程以及高级映射。在本篇文章中,我们将学习如何在Spring Boot项目中集成MyBatis,以便通过MyBatis进行数据库操作。
从零开始学Spring Boot系列-集成MySQL
代码匠心
2024-03-03
阅读 7 分钟
1.7k
在Spring Boot中集成MySQL是为了让开发者能够轻松地与MySQL数据库进行交互。本篇文章将指导你如何在Spring Boot 3.2.3项目中使用Gradle来集成MySQL。在此之前,我们需要在Ubuntu 22.04上安装MySQL 8作为我们的数据库服务器。
从零开始学Spring Boot系列-返回json数据
代码匠心
2024-02-29
阅读 3 分钟
2.5k
欢迎来到从零开始学Spring Boot的旅程!在Spring Boot中,返回JSON数据是很常见的需求,特别是当我们构建RESTful API时。我们对上一篇的Hello World进行简单的修改。
从零开始学Spring Boot系列-Hello World
代码匠心
2024-02-25
阅读 3 分钟
2k
欢迎来到从零开始学Spring Boot的旅程!在这个系列的第二篇文章中,我们将从一个非常基础但重要的示例开始:创建一个简单的Spring Boot应用程序,并输出“Hello World”。
从零开始学Spring Boot系列-前言
代码匠心
2024-02-22
阅读 3 分钟
1.8k
在数字化和信息化的时代,Java作为一种成熟、稳定且广泛应用的编程语言,已经成为构建企业级应用的首选。而在Java生态系统中,Spring框架无疑是其中最为耀眼的一颗明星。它提供了全面的编程和配置模型,用于构建企业级应用。随着Spring Boot的出现,这一框架变得更加易于使用,使得开发者能够更快速地构建、部署和管理生...
1
(current)
2
下一页
1
(current)
下一页