Kafka Connect란?
·
Data Engineering/Kafka
Kafka Connect는 Apache Kafka와 다른 데이터 시스템 간에 데이터를 확장 가능하고 안정적으로 스트리밍할 수 있는 도구입니다. 이를 통해 대용량 데이터 세트를 Kafka 안팎으로 이동시키는 커넥터를 빠르게 정의할 수 있습니다. Kafka Connect는 전체 데이터베이스를 수집하거나 모든 애플리케이션 서버의 메트릭을 Kafka topic으로 수집하여, 저지연으로 스트림 처리를 가능하게 합니다. 또한, export 커넥터를 통해 Kafka topic에서 Elasticsearch와 같은 2차 인덱스 또는 오프라인 분석을 위한 Hadoop과 같은 배치 시스템으로 데이터를 전달할 수 있습니다.이 포스트에서는 Kafka Connect의 작동 방식과 중요 용어 및 핵심 개념을 설명합니다. Kafka..
[스파크 완벽 가이드] Part 3. 저수준 API
·
Data Engineering/Spark
대부분의 상황에서는 구조적 API를 사용하는 것이 좋다. 그러나 비즈니스가 기술적 문제를 고수준 API를 사용해 모두 처리할 수 있는 것은 아니므로, 스파크의 저수준 API를 사용해야 할 수도 있다. CHAPTER 12. RDD 사용자가 실행한 모든 DataFrame이나 Dataset 코드는 RDD로 컴파일된다. RDD는 간단히 말해 불변성을 가지며 병렬로 처리할 수 있는 파티셔닝된 레코드의 모음이다. RDD의 레코드는 자바, 스칼라, 파이썬의 객체일 뿐이다. 또한 구조적 API와는 다르게 레코드의 내부 구조를 스파크에서 파악할 수 없으므로, 최적화를 하려면 훨씬 많은 수작업이 필요하다. RDD에는 수많은 하위 클래스가 존재하며, DataFrame API에서 최적화된 물리적 실행 계획을 만드는데 대부분 ..
[스파크 완벽 가이드] Part 2. 구조적 API: DataFrame, SQL, Dataset
·
Data Engineering/Spark
CHAPTER 4. 구조적 API 개요 구조적 API는 비정형 로그 파일부터 반정형 CSV 파일, 매우 정형적인 파케이(Parquet) 파일까지 다양한 유형의 데이터를 처리할 수 있다. 구조적 API에는 세 가지 분산 컬렉션 API가 있다; Dataset, DataFrame, SQL 테이블과 뷰 배치와 스트리밍 처리에서 구조적 API를 사용할 수 있고, 배치 작업과 스트리밍 작업을 서로서로 쉽게 변환할 수 있다. 스키마는 DataFrame의 컬럼명과 데이터 타입을 정의한다. 이는 데이터소스에서 얻거나 직접 정의할 수 있다. 본질적으로 DataFrame은 '비타입형'으로 런타임에 스키마와 비교하며, Dataset은 '타입형'으로 컴파일 타임에 스키마와 비교한다. 스파크의 DataFrame은 Row 타입으로..
[스파크 완벽 가이드] Part 1. 빅데이터와 스파크 간단히 살펴보기
·
Data Engineering/Spark
CHAPTER 1. 아파치 스파크란? 스파크는 통합 컴퓨팅 엔진이며, 클러스터 환경에서 데이터를 병렬로 처리하는 라이브러리 집합 스파크는 네 가지 언어(파이썬, 자바, 스칼라, R)을 지원하며 SQL뿐만 아니라 스트리밍, 머신러닝에 이르기까지 넓은 범위의 라이브러리를 제공 스파크는 저장소 시스템의 데이터를 연산하는 역할만 수행할 뿐 영구 저장소 역할은 수행하지 않음 스파크의 등장 배경 하드웨어의 성능 향상은 2005년경에 멈췄음 → 성능 향상을 위해 병렬 처리가 필요함 결과적으로 데이터 수집 비용은 극히 저렴해졌지만, 데이터는 클러스터에서 처리해야 할 만큼 거대해짐 기존 데이터 처리 애플리케이션의 전통적인 프로그래밍 모델이 한계점이 도래 → 스파크 탄생 스파크 실행하기 jupyter에서 제공하는 공식 d..