데이터 이야기
공부하고 경험한 것들 차근차근 정리하자 :)
-
Spark Streaming With Kafka Direct API
Spark Streaming With Kafka Direct API 로직 설명 KafkaUtils.createDirectStream[String, String]( sparkStreamContext, PreferConsistent, Subscribe[String, String](ESTAT_TOPIC, kafkaParams) ) 1. createDirectStream Return Type : InputDStream[ConsumerRecord[K, V]] using DirectKafkaInputDStream new DirectKafkaInputDStream[K, V](ssc, locationStrategy, consumerStrategy, perPartitionConfig) 2. LocationStragegy Kafka에서 받아온 파티션을 Exeuctor에게 어떻게 규칙으로 할당할 것인가에 대한 전략 ! PreferBrokers Kakfa 브로커와 동일한 노드에 Executor를...
-
Spark Streaming Configuration
Spark Streaming Configuration Streaming Job은 Yarn Cluster에서 실행이 되면, 일부로 중지시키지 않는 한, 영원히 실행 중단이 된다는 것은 데이터 처리에 대한 Delay , Loss , Duplicate 될 가능성이 크다 개인적인 생각이지만 Kafka와 같이 사용한다면 중단 시, Delay는 있을 수 있지만, Loss와 Duplicate는 피할 수 있을 것 같다. 사실상, Yarn 과...
-
Stream Processing In Kafka
Stream Processing In Kafka 다룰 내용들~ What is Stream Processing Stream Processing Concept Stream Processing Design Pattern Kafka Streams How to Choose a Stream-Processing Framework 1. What is Stream Processing 1_1. Data Stream Event Stream 또는 Streaming Data 로 부르기도 함 속성 Unbounded Dataset 시간의 흐름에 따라 무한히 계속 증가하는...
-
Building Data Pipeline In Kafka
Building Data Pipeline In Kafka Kafka Connect를 사용하여 파이프라인을 구축하는 방법에 대한 챕터지만, Kafka Connect에 대한 내용은 제외하고 파이프라인의 구축 시 고려해야할 사항에 대해서만 정리하고자 한다~ 데이터 파이프라인 구축 시 고려할 점 Timeline 적시 시스템에서 어떨 때는 하루에 한번 벌크로 데이터가 올 때도 있고, 수 millisecond에 데이터가 올 수도 있음...
-
Kafka Internal
Kafka Internal 다룰 내용들~ Kafka Controller Kafka Replication work Request Processing Kafka Physical Storage 1. Kafka Controller 일반적인 broker 기능 + partition 관리자 partition과 replica들의 상태 관리 partition 재할당 관리 zookeeper /controller, /controller_epoch broker는 고유한 id을 가지고 있고, 이 id기반으로 주키퍼에 연결하여, ephemeral node로 연결 emphemeral node여서 어떤 이유로 connection이...