博客 / 列表

代碼匠心 - 從零開始學Flink:數據源

在實時數據處理場景中,數據源(Source)是整個數據處理流程的起點。Flink作為流批一體的計算框架,提供了豐富的Source接口支持,其中通過Kafka獲取實時數據是最常見的場景之一。本文將以Flink DataStream API為核心,帶你從0到1實現“從Kafka消費數據並輸出到日誌”的完整流程,掌握Flink Source的核心用法。 一、為什麼選擇Kafka作為Flink的數據源?

大數據

代碼匠心 - 從零開始學Flink:流批一體的執行模式

在大數據處理領域,批處理和流處理曾經被視為兩種截然不同的範式。然而,隨着Apache Flink的出現,這種界限正在逐漸模糊。Flink的一個核心特性是其批流一體的架構設計,允許用户使用統一的API和執行引擎處理有界數據(批處理)和無界數據(流處理)。本文將深入探討Flink的執行模式(Execution Mode),特別是在Flink 1.20.1版本中對批處理和流處理模式的支持和優化。 一、F

大數據

代碼匠心 - 從零開始學Flink:事件驅動

在實時計算領域,很多業務邏輯天然適合“事件驅動”模式:當事件到達時觸發處理、在某個時間點觸發補償或彙總、根據狀態變化發出告警等。Apache Flink 為此提供了強大的 ProcessFunction 家族(KeyedProcessFunction、CoProcessFunction、BroadcastProcessFunction 等),它們在算子層面同時具備“事件處理 + 定時器 + 狀態”

大數據 , 事件驅動 , JAVA , flink , 數據處理

代碼匠心 - 從零開始學Flink:事件驅動

在實時計算領域,很多業務邏輯天然適合“事件驅動”模式:當事件到達時觸發處理、在某個時間點觸發補償或彙總、根據狀態變化發出告警等。Apache Flink 為此提供了強大的 ProcessFunction 家族(KeyedProcessFunction、CoProcessFunction、BroadcastProcessFunction 等),它們在算子層面同時具備“事件處理 + 定時器 + 狀態”

大數據

代碼匠心 - 從零開始學Spring Boot系列-返回json數據

歡迎來到從零開始學Spring Boot的旅程!在Spring Boot中,返回JSON數據是很常見的需求,特別是當我們構建RESTful API時。我們對上一篇的Hello World進行簡單的修改。 添加依賴 首先,確保你的build.gradle文件中已經包含了Spring Web的依賴,因為返回JSON數據通常與Web請求和響應有關。Spring Boot的starter-w

spring-mvc , springboot , JAVA , 後端 , Json

代碼匠心 - Lambda架構:實時與批處理的完美融合

引言 在當今數據爆炸的時代,企業面臨着前所未有的數據處理挑戰——如何同時滿足海量歷史數據的批處理分析需求和實時數據的低延遲查詢需求?2014年,Storm的作者Nathan Marz提出了一種革命性的架構模式——Lambda架構,為解決這一矛盾提供了優雅的解決方案。 Lambda架構通過巧妙地將數據處理分解為批處理層(Batch Layer)、加速層(Speed Layer)和服務層(Servin

大數據處理 , 大數據 , hadoop , flink

代碼匠心 - 從零開始學Flink:流批一體的執行模式

在大數據處理領域,批處理和流處理曾經被視為兩種截然不同的範式。然而,隨着Apache Flink的出現,這種界限正在逐漸模糊。Flink的一個核心特性是其批流一體的架構設計,允許用户使用統一的API和執行引擎處理有界數據(批處理)和無界數據(流處理)。本文將深入探討Flink的執行模式(Execution Mode),特別是在Flink 1.20.1版本中對批處理和流處理模式的支持和優化。 一、F

大數據處理 , 大數據 , JAVA , flink

代碼匠心 - 從零開始學Flink:實時流處理實戰

在大數據處理領域,實時流處理正變得越來越重要。Apache Flink作為領先的流處理框架,提供了強大而靈活的API來處理無界數據流。本文將通過經典的SocketWordCount示例,深入探討Flink實時流處理的核心概念和實現方法,幫助你快速掌握Flink流處理的實戰技能。 一、實時流處理概述 1. 流處理的基本概念 流處理是一種持續處理無界數據的計算範式。與批處理不同,流處理系統需要在數據到

大數據 , JAVA , flink , 數據處理 , 後端

代碼匠心 - 從零開始學Flink:數據轉換的藝術

在實時數據處理流程中,數據轉換(Transformation)是連接數據源與輸出結果的橋樑,也是體現計算邏輯的核心環節。Flink提供了豐富的數據轉換操作,讓開發者能夠靈活地對數據流進行各種處理和分析。本文將以Flink DataStream API為核心,帶你探索Flink數據轉換的精妙世界,並結合之前文章中的Kafka Source實現一個完整的數據處理流程。 一、數據轉換概覽 數據轉換是指將

大數據處理 , 大數據 , JAVA , flink , 後端

代碼匠心 - 從零開始學Flink:數據輸出的終極指南

在實時數據處理的完整鏈路中,數據輸出(Sink)是最後一個關鍵環節,它負責將處理後的結果傳遞到外部系統供後續使用。Flink提供了豐富的數據輸出連接器,支持將數據寫入Kafka、Elasticsearch、文件系統、數據庫等各種目標系統。本文將深入探討Flink數據輸出的核心概念、配置方法和最佳實踐,並基於Flink 1.20.1構建一個完整的數據輸出案例。 一、Flink Sink概述 1. 什

大數據處理 , 大數據 , JAVA , flink , 後端

代碼匠心 - 從零開始學Flink:數據源

在實時數據處理場景中,數據源(Source)是整個數據處理流程的起點。Flink作為流批一體的計算框架,提供了豐富的Source接口支持,其中通過Kafka獲取實時數據是最常見的場景之一。本文將以Flink DataStream API為核心,帶你從0到1實現“從Kafka消費數據並輸出到日誌”的完整流程,掌握Flink Source的核心用法。 一、為什麼選擇Kafka作為Flink的數據源?

大數據 , JAVA , flink

代碼匠心 - 從零開始學Flink:揭開實時計算的神秘面紗

一、為什麼需要Flink? 當你在電商平台秒殺商品時,1毫秒的延遲可能導致交易失敗;當自動駕駛汽車遇到障礙物時,10毫秒的計算延遲可能釀成事故。這些場景揭示了一個殘酷事實:數據的價值隨時間呈指數級衰減。 傳統批處理(如Hadoop)像老式火車,必須等所有乘客(數據)到齊才能發車;而流處理(如Flink)如同磁懸浮列車,每個乘客(數據)上車即刻出發。Flink的誕生,讓數據從"考古材料"變為"新鮮血

大數據處理 , 大數據 , JAVA , flink , 後端

代碼匠心 - 從零開始學Spring Boot系列-集成Spring Security實現用户認證與授權

在Web應用程序中,安全性是一個至關重要的方面。Spring Security是Spring框架的一個子項目,用於提供安全訪問控制的功能。通過集成Spring Security,我們可以輕鬆實現用户認證、授權、加密、會話管理等安全功能。本篇文章將指導大家從零開始,在Spring Boot項目中集成Spring Security,並通過MyBatis-Plus從數據庫中獲取用户信息,實現用户認證與授

springboot , JAVA , spring-security , 後端

代碼匠心 - 系統架構設計師-第3章-數據庫

第3章-數據庫 在信息處理領域,由於數據量龐大,如何有效組織、存儲數據對實現高效率的信息處理至關重要。數據庫技術是目前最有效的數據管理技術。數據庫(DataBase,DB)是指長期存儲在計算機內、有組織的、統一管理的相關數據的集合。它不僅描述事物的數據本身,而且還包括相關事物之間的聯繫。數據庫可以直觀地理解為存放數據的倉庫,只不過這個倉庫是在計算機的存儲設備上,而且數據是按一定格式存放的,具有較小

架構設計 , JAVA , 架構師