kafka(21)
-
[🔥Spark] Spark Streaming 이란?
Spark Streaming 개요 스트리밍 처리는 실시간으로 들어오는 데이터를 처리하는 것을 말하는데, 스파크 스트리밍은 배치 처리를 해준다. 배치 처리란 A시간 부터 B시간까지의 처리를 한 묶음, B시간 부터 C시간까지의 처리를 한 묶음으로, 처리를 하는 것을 말한다. n초에 한 번씩 실행하는 등의 지정을 할 수 있다. 스파크 스트리밍은 특정 포트를 통해 데이터를 받아들일 수 있으며 데이터를 전부 불러와서 처리하는 것이 아닌 특정 시간 사이에 들어온 데이터를 처리하는 방식이다. Example 1. 스파크 세션을 생성한다. 2. 스트리밍 데이터프레임 생성한다. 3. 변형 작업을 한다. 4. 목적지로 출력한다. 5. 1을 더하는 출력 결과 예시는 다음과 같다. -------------------------..
2021.04.01 -
[🧙Kafka] 카프카 정리 - 기본 개념
카프카 포춘 500대 기업의 1/3을 포함하여 많은 조직에서 사용되고 있다. 끊임없이 진화하고 성장하는 스트림으로 데이터를 처리하는데에 중점을 두었다. 카프카는 메세징 시스템이지만 클러스터로 실행되고 수동으로 연결하는 개별적인 메시징 브로커 대신에 회사의 모든 데이터 스트림을 처리를 위한 탄력적으로 확장할 수 있는 중심 플랫폼 역할을 한다. 실시간 버전의 하둡을 생각하고 만들어졌다. 메세지 발행과 구독하기(publish/subscribe) 이 구조에서는 데이터를 발행자가 구독자에게 직접 보내지 않고 중간에 브로커가 도와준다. Pub/Sub 구조가 아닌 곳에서는 여러 서버에서 나오는 로그, 메트릭 등을 사용해야 할 때 모니터링 서버, 분석 서버, UI 서버 등에 각자 연결해야 하지만 Pub/Sub구조라면 ..
2021.03.12 -
[회사별 사례] 카프카(Kafka) 적용 사례(라인, 링크드인)
카프카란? - 실시간으로 게시, 구독, 저장 및 처리할 수 있는 분산 데이터 스트리밍 플랫폼입니다. - 여러 소스에서 데이터 스트림을 처리하고, 여러 사용자에게 전달합니다. - FIFO(First In First Out)큐를 사용합니다. 마이크로서비스에서의 카프카 - 다른 개발팀의 데이터를 스트리밍하여 데이터 스토어를 채우면, 데이터를 여러 팀과 공유할 수 있습니다. 라인 사용하는 이유 - LINE 메세지 개발 서버 팀에서 복잡해진 아키텍처를 간소화하기 위한 중간 레이어로 사용하고자 채택했습니다. 사용 방식 크게 아래의 두가지로 구성됩니다. 1. 분산 큐잉 시스템으로 사용하는 방법 - 웹 서버에서 비싼 비용의 작업을 처리해야 할 때 백그라운드의 태스크 프로세서에 요청하기 위한 큐를 사용하는 경우 2. 데..
2021.03.10