일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 하둡
- 우선순위큐
- apache kafka
- 프로그래머스
- 알고리즘
- docker
- Python
- KAFKA
- 분산
- Apache Hadoop
- 오블완
- 티스토리챌린지
- heapq
- String
- Data Engineering
- 분산처리
- 아파치 카프카
- leetcode
- 코딩테스트
- 카프카
- programmers
- 리트코드
- Apache Spark
- 도커
- 파이썬
- 이진탐색
- 아파치 하둡
- DP
- 아파치 스파크
- 문자열
- Today
- Total
목록Data Engineering (15)
래원
이번 글에서는 위 그림과 같이 간단한 작업을 실습해볼 예정이다. Producer와 Consumer는 Java를 이용해 구현했으며, Gradle을 사용했다. Java Project 생성하는 법은 이번 글에서는 생략했다. 코드를 작성하기 앞서 build.gradle에 의존성을 추가해야한다.implementation 'org.apache.kafka:kafka-clients:3.5.1' producerTest.javaimport org.apache.kafka.clients.producer.KafkaProducer;import org.apache.kafka.clients.producer.ProducerRecord;import org.apache.kafka.clients.producer.Producer;import..
이번 글에서는 Apache Kafka 설치 방법에 대해 소개할 예정이다. Kafka 3.9.0 버전을 사용했으며, KRaft 모드를 사용할 예정이다. 큰 목차는 다음과 같다.1. 환경2. Java 설치3. Kafka 설치4. Kafka Cluster ID 설정5. Kafka 설정 파일 편집6. Kafka 스토리지 초기화7. Broker 실행8. Topic 생성9. Producer/Consumer 테스트 환경설치를 위해 VM 3대를 사용하였으며, 환경은 다음과 같다.OSUbuntu 20.04Javaopenjdk-11Kafka3.9.0 Java 설치 Kafka를 실행하려면 Java Runtime Environment(JRE)가 필요하기 때문에 OpenJDK 11을 설치한다.sudo apt updatesud..
이번 글에서는 Zookeeper와 이를 대체하기 위해 등장한 KRaft에 대해 소개 할 예정이다. 본 글의 목차는 다음과 같다.1. Apache ZooKeeper 개요 1.1 Zookeeper 앙상블 1.2 Zookeeper Read & Write2. Zookeeper와 Kafka3. Zookeeper의 문제점4. KRaft(Kafka Raft) 모드5. 마무리 Apache ZooKeeper 개요 Zookeeper는 분산 애플리케이션을 위한 분산 코디네이션 서비스로, 개별 시스템을 관리 및 조율하며 고가용성을 보장한다.분산 환경에서 클러스터 메타데이터를 관리하고 노드 간의 협업을 돕는 핵심 역할을 수행한다. Zookeeper 앙상블 Zookeeper는 여러 서버로 구성된 앙상블 형태로..
이번 글에서는 Kafka의 Partition과 Offset에 대해 공부한 내용을 정리하려고 한다. 본 글의 목차는 다음과 같다.1. Events, Streams, and Topics2. Partition3. Partitioning4. Partition 복제5. Consumer의 데이터 읽기 방식: Pull6. Commit/Offset Events, Streams, and Topics Partition에 대해 알아보기 전에, Event, Stream 그리고 Topic에 대해 먼저 알아보자 Event는 데이터의 단위이다. 이는 특정 작업이나 상태 변경을 나타낸다.Stream은 Kafka에서 연속적으로 흐르는 Event들의 집합이다.Topic은 데이터를 구분하기 위한 단위로 events stream이 이 To..
이번 글에서는 Apache Kafka에 대해 간단히 소개할 예정이다. 본 글의 목차는 다음과 같다.1. Kafka 등장 배경2. What is Kafka3. Kafka Architecture4. Pub/Sub 모델 1. Kafka 등장 배경 Kafka에 대해 알아보기 전, 어떻게 Kafka가 등장했는지 알아보자 초기 Linkedin 운영 시에는 단방향 통신을 통해 연동했으며, 아키텍처가 복잡하지 않아 운영에 어려움이 없었다. 하지만, 시간이 지날수록 source, target application의 개수가 많아져 아키텍처가 거대해짐에 따라 데이터를 전송하는 라인이 위 그림과 같이 많이 복잡해졌다. 또한, 한쪽에 장애가 생기면 다른 한 쪽에도 전달되는 문제가 발생해 유지 및 보수가 어려워지면서 관리에 이슈..
이번 글에서는 spark에서 데이터를 불러와 spark sql을 사용해본 것에 대해 작성하려고 한다. 시작하기 앞서 zeppelin을 이용하여 실습을 진행했는데, 이에 대해 먼저 소개를 해야할 것 같다. 목차는 다음과 같다.1. Apache Zeppelin2. HDFS에서 데이터 불러오기3. SQL쿼리 실행4. 마무리 Apache Zeppelin 일단 Zeppelin은 Spark를 통한 데이터 분석의 불편함을 Web 기반의 notebook을 통해 해결해보고자 만들어진 툴이다. 기존의 Spark 환경에서는 명령어를 입력하고 결과를 출력하는 방식으로 작업이 진행되어 쿼리 결과나 분석 과정을 확인하는데 불편함이 있었다. 하지만 Zeppelin은 웹 인터페이스를 통해 이러한 문제를 해결하고 작업을 진행할 수 있..