반응형

EventTime 3

[Apache Flink] 2. 데이터의 시간여행: Event Time과 Watermark의 마법

안녕하세요! 지난 1편에서는 Flink가 어떻게 Spark의 한계를 넘어 '밀리초 단위의 찐(True) 스트리밍'을 구현하는지 알아보았습니다. 데이터가 컨베이어 벨트를 타듯 들어오는 즉시 처리되는 그 짜릿한 속도감, 기억하시죠?하지만 실시간 데이터 처리의 세계에 발을 들이는 순간, 우리는 아주 골치 아픈 철학적 문제에 직면하게 됩니다. 바로 '시간(Time)'입니다.모바일 게임 유저가 지하철에서 몬스터를 잡았는데 인터넷이 끊겼습니다. 이 데이터가 다음 날 아침 서버에 도착했다면, 이 몬스터 사냥은 어제 일어난 일일까요, 오늘 일어난 일일까요?오늘은 완벽한 실시간 처리를 위해 반드시 정복해야 하는 Flink의 핵심 개념, 시간의 3가지 정의와 지연 데이터를 우아하게 제어하는 마법사 '워터마크(Waterma..

[초실시간 데이터 아키텍처] Apache Flink 완벽 정복: Spark의 한계를 넘는 True Streaming 가이드

안녕하세요!데이터 엔지니어링의 끝판왕, '초실시간(Real-time) 스트리밍'의 세계로 오신 것을 환영합니다! Spark Streaming이 훌륭한 도구이긴 하지만, 태생적으로 데이터를 잘게 쪼개어 처리하는 '마이크로 배치(Micro-batch)' 방식이기에 수 초의 지연(Latency)이 발생합니다.하지만 금융권의 이상 거래 탐지(FDS), 초당 수백만 건이 발생하는 클릭 로그 분석, 실시간 추천 시스템에서는 밀리초(ms) 단위의 반응 속도가 필요합니다. 이때 혜성처럼 등장해 업계 표준으로 자리 잡은 진정한 스트리밍 엔진, Apache Flink의 모든 것을 바닥부터 최상위 운영 노하우까지 낱낱이 파헤쳐 보겠습니다.📋 Apache Flink 연재 시리즈 리포트제1편. [서론] 왜 Flink인가? M..

[Apache Spark] 8. [확장] Kafka와 만난 Spark: Structured Streaming으로 구축하는 실시간 데이터 파이프라인

안녕하세요! 여러분의 영원한 데이터 엔지니어링 파트너, 팬돌프입니다.드디어 대장정의 마지막 순간이 왔습니다. 지난 1편부터 7편까지 우리는 스파크의 기본 개념부터 DataFrame, SQL 분석, 그리고 심화 튜닝 기술까지 숨 가쁘게 달려왔습니다. 이제 여러분은 이미 대용량 배치(Batch) 데이터를 처리하는 데 있어서는 준전문가 수준에 도달하셨습니다.하지만 현대의 데이터 환경은 멈춰 있지 않습니다. 데이터는 24시간 쉴 새 없이 흐릅니다. "어제 데이터 말고, 지금 당장 들어오는 매출 데이터를 보고 싶어!" 이런 요구사항에 대응하기 위해, 마지막 퍼즐 조각인 실시간 스트리밍(Streaming)을 맞춰보겠습니다.우리가 초반에 다뤘던 '카프카(Kafka)'와 오늘 배울 '스파크(Spark)'가 만나면 어떤..

반응형