ssung_데이터 엔지니어링/14주차_Kafka와 Spark Streaming 3

Kafka와 Spark Streaming_(4, 5)

Kafka Topic 파라미터 설정 Topic 생성시 다수의 Partition이나 Replica를 주려할 때 KafkaAdminClient 오브젝트 생성 후 create_topics 함수로 Topic 추가 create_topics의 인자로는 NewTopic 클래스의 오브젝트 지정 client = KafkaAdminClient(bootstrap_servers=bootstrap_servers) topic = NewTopic( name=name, num_partitions=partitions, # partition의 수 = 1 replication_factor=replica) # Replication의 수 = 1 client.create_topics([topic]) Kafka Producer의 파라미터 파라미..

Kafka와 Spark Streaming_(2, 3)

Kafka란? 실시간 데이터를 처리하기 위한 오픈소스 분산 스트리밍 플랫폼 데이터 재생이 가능한 분산 커밋 로그 (Distributed Commit Log) Scalability와 Fault Tolerance를 제공하는 Publish-Subscription 메시징 시스템 Producer-Consumer High Throughput과 Low Latency를 실시간 데이터 처리에 맞게 구현 분산 아키텍처를 따르기 때문에 Scale Out이란 형태로 스케일 가능 서버 추가를 통해 Scalability 달성 (서버 = Broker) 정해진 보유기한 (retention period) 동안 메시지를 저장 기존 메시징 시스템 및 DB와의 비교 kafka는 메시지를 보유 기간 동안 저장 소비자가 오프라인 상태일 때에도..

Kafka와 Spark Streaming_(1)

실시간 데이터 처리 데이터 처리의 일반적인 단계 데이터 수집 (Data Collection) 데이터 저장 (Data Storage) 데이터 처리 (Data Processing) 데이터 처리의 고도화 처음에는 배치로 시작 처리할 수 있는 데이터 양이 중요 서비스가 고도화되면 점점 더 실시간 처리 요구가 생기기 시작 Realtime 처리 vs Semi Realtime 처리 동일 데이터 소비가 필요한 케이스 증가 : 다수의 데이터 소비자 등장 처리량 (Throughput) vs 지연시간 (Latency) 처리량 : 주어진 단위 시간 동안 처리할 수 있는 데이터의 양 (배치 시스템에서 가장 중요) - 처리량이 클수록 처리할 수 있는 데이터 양이 큼 (데이터 웨어하우스에서 중요) 지연시간 : 데이터를 처리하는데 ..

728x90