Spark Streaming 소개와 Kafka 연동Spark Streaming 소개Spark버클리 대학의 AMPLab에서 Apache 오픈소스 프로젝트로 2013년 시작하둡의 뒤를 잇는 2세대 빅데이터 기술YARN 등을 분산환경으로 사용Scala로 작성됨빅데이터 처리 관련 다양한 기능 제공구성Spark Core, Spark SQL, Spark ML, Spark StreamingSpark Streaming실시간 데이터 스트림 처리를 위함 Spark APIKafka, Kinesis, Flume, TCP 소켓 등의 다양한 소스에서 발생하는 데이터 처리 가능Join, Map, Reduce, Window와 같은 고급 함수 사용 가능Spark Streaming 동작 방식데이터를 마이크로 배치로 처리하는 과정을 반복..
KafkaKafka 소개Kafka의 탄생2008년 LinkedIn에서 내부 실시간 데이터 처리를 위해 개발한 소프트웨어 플랫폼 (Scala, Java)2011년 초에 오픈소스화 (Apache)현재 포춘지 선정 100대 기업 중 80% 이상이 Kafka 사용Kafka 소개실시간 데이터 처리를 위한 오픈소스 분산 스트리밍 플랫폼Scalability와 Fault Tolerance를 제공하는 Publish-Subscription 메시징 시스템High Throughput & Low Latency으로 실시간 데이터 처리에 맞게 구현분산 아키텍처를 따르기 때문에 Scale Out(서버=Broker) 형태로 스케일 가능정해진 보유 기간 (retention period) 동안 메시지 저장기존 메시징 시스템 및 데이터 베..
Udemy 데이터 시스템 발전 여정 살펴보기Udemy 데이터 팀 빌딩 여정2014년 8월 : 데이터 엔지니어링 팀 설립데이터 웨어하우스 (Redshift) 도입데이터 소스 추가 요청을 받는 슬랙 채널 개설ETL 프로세스 개발처음에는 crontab으로 관리하다 Pinterest의 Pinball로 이전기본 개발 언어는 파이썬, 지금은 Airflow 사용B2B 강사 보수 계산 (소비율에 따라 계산)중요 파이프라인의 경우 SLA (Service Level Agreement) 설정 후 지표 계산백엔드/프런트엔드 엔지니어링 팀과 다양한 협업 시작Incremental Update를 하기 위해 프로덕션 DB 테이블 스키마 변경updated_at과 deleted 필드 추가사용자 이벤트 로그를 프로덕션 DB에서 nginx..