BigData 6

[KAFKA]commitSync() 사용시 rebalance발동시 offset variable을 초기화 해야하는 이유?

아래는 oreilly의 Kafka: The Definitive Guide(카프카 핵심가이드)의 commitSync()와 rebalanceListener를 사용하여 topic을 consume하는 예시 코드이다. url : https://www.oreilly.com/library/view/kafka-the-definitive/9781491936153/ch04.html private Map currentOffsets = new HashMap(); private class HandleRebalance implements ConsumerRebalanceListener { public void onPartitionsAssigned(Collection partitions) { } public void onPartit..

빅데이터/Kafka 2019.09.30
Kafka consumer의 Automatic Commit은 중복이 생길 수 있다

https://books.google.co.kr/books?id=a3wzDwAAQBAJ&pg=PA77&lpg=PA77 Kafka: The Definitive Guide Every enterprise application creates data, whether it’s log messages, metrics, user activity, outgoing messages, or something else. And how to move all of this data becomes nearly as important as the data itself. If you’re an application architect, develop books.google.co.jp 참고 출처 - Kafka Definitive gui..

빅데이터/Kafka 2019.09.25
Fluentd로 데이터파이프라인 구축하기 kafka→kafka→s3

Fluentd개요 fluentd는 대용량 데이터처리에 있어 input/output plugin들을 사용해서 파이프라인을 생성할 수 있다. 이 파이프라인은 데이터처리에 적합한데 다양한 플러그인을 폭넓게 개발할수 있을 뿐만아니라 제공되고 있다. fluentd는 다른 fluentd에 전달도 가능한데, 이를 통해 fluentd의 트래픽을 조정하거나 라우팅할 수도 있다. 아키텍쳐 단순성과 안정성으로 인해 많은 IT기업들에서 사용된다. 파이프라인 아키텍쳐 구상 및 준비 앞서 말했듯이 강력한 input/output 플러그인 기능을 가지고 있는데, 실제로 어떤 configuration으로 사용 가능할지 알아보기 위해 아래와 같은 아키텍쳐를 구현해보기로 하였다. 상기 아키텍쳐에서 파이프라인은 2개로 나뉘어져 있다. 1)..

빅데이터 2019.09.17
아파치 Kafka Producer의 데이터 처리 내부 architecture 설명 및 튜닝포인트

지난 포스트에서 Kafka architecture 및 개요에 대해 알아보았다. ☞ 빅 데이터 처리를 위한 아파치 Kafka 개요 및 설명 포스팅 이번 포스트에서는 kafka architecture의 Producer 내부 데이터 흐름에 대해 알아보려고 한다. Kafka Producer 데이터 내부 처리 순서 #1 : User application thread에서 Record 추가#2 : Record Batch단위로 Record를 압축#3 : 복수의 Record Batch를 묶어 Broker로 보냄#4 : Record Batch를 각 Partition에 저장#5 : 지정시간에 request 에 대한 완료(ack)를 회신 - acks=0 : ack 응답없음(속도가장빠름, 데이터유실확률 가장 높음) - acks..

빅데이터/Kafka 2018.12.24
모든 것을 측정하는 방법 - Bigdata시대에 부족한 data로 예측하기

이 포스트는 모든 것을 측정하는 방법을 읽고 정리한 글입니다. 해당 서적 : How to Maesure Anything(amazon.com) 근사값 밖에 구할 수 없는 상황에서는 완벽한 정확성을 추구하는 것보다 가능한 수준의 정밀도로 만족하는 것이 지식인에게 필요한 태도이다. - 아리스토텔레스(BC. 384 - BC. 322) 왜 측정이 필요한가?모든 것은 측정 가능하다. 대체로 측정 불가능하다고 여겨지는 많은 문제들이 간단한 측정 방법을 통해 해결될 수 있다. 특히 사업 경영에서 흔히 접하는 '보이지 않는' 것들에 대해 측정이 가능하다. 다음과 같은 것들이 일반적으로 생각되는 보이지 않는 것들의 예이다. # IT 프로젝트가 실패할 위험# 수집한 정보의 가치# 품질# 대중적 이미지 위의 예들은 사업의 의..

빅데이터 2018.12.16
JVM에서 MapReduce를 간편하게 쓸수 있는 오픈소스 라이브러리 Cascading

CascadingCascading은 opensource library로서 JVM에서 쉽게 bigdata처리를 가능캐 한다. 오픈소스이며 apache license를 보유하고있다. # Website : https://www.cascading.org/ # Github : https://github.com/Cascading/cascading # twitter : https://twitter.com/Cascading Source-pipe-sink 패러다임을 채용하여 객체지향 프로그래밍 언어에서도 data처리를 직관적으로 구현할 수 있다. 기존에 많이 사용하던 MapReduce code와 비교해보자. Old MapReduce code Bigdata를 다룰 때 맵리듀스(MapReduce)는 흩어져 있는 데이터를 수..

빅데이터 2018.11.19