Spark The Definitive Guide
-
[스파크 완벽 가이드] Chapter 21 - 구조적 스트리밍의 기초Dev/Spark 2020. 12. 20. 02:33
* 해당 포스트는 "스파크 완벽 가이드" 책을 읽고 난 이후의 정리 내용입니다. 자세한 내용은 "스파크 완벽 가이드" 책을 통해 확인해주세요. 구조적 스트리밍의 기초 구조적 스트리밍: Spark SQL 기반 스트림 처리 프레임워크(Dataframe, Dataset, SQL 사용) 스트리밍 연산(배치 연산과 동일하게 표현) 사용자: 스트림 처리용 코드, 목적지 정의 구조적 스트리밍 엔진: 신규 데이터에 대한 증분 & 연속형 쿼리 실행 구조적 스트리밍 엔진: 카탈리스트 엔진(코드 생성, 쿼리 최적화 등의 기능 지원) 사용해 연산에 대한 논리적 명령 처리 여러 부가 기능 제공: 정확히 한 번 처리(exactly once 처리), checkpoint, WAL(write-ahead log) -> 내고장성 제공 핵..
-
[스파크 완벽 가이드] Chapter 20 - 스트림 처리의 기초Dev/Spark 2020. 12. 12. 21:33
* 해당 포스트는 "스파크 완벽 가이드" 책을 읽고 난 이후의 정리 내용입니다. 자세한 내용은 "스파크 완벽 가이드" 책을 통해 확인해주세요. Apache Spark에서는 RDD와 유사한 연산을 실시간 처리로 수행할 수 있게 하는 DStream API와 Dataset, Dataframe을 사용해 실시간 처리를 수행하는 Structured Streaming으로 나뉨 1. 스트림 처리란 스트림 처리: 신규 데이터를 끊임없이 처리해 결과를 만들어내는 행위, 입력 데이터 무한, 시작과 끝이 정해져 있지 않음 입력 데이터: 스트림 처리 시스템에 도착한 일련의 이벤트(Ex: 신용카드 전표 정보, 웹 사이트 클릭, IoT 장비의 센서 데이터 등) 스트리밍 App: 이벤트 스트림이 도착하면 다양한 쿼리 연산을 수행, ..
-
[스파크 완벽 가이드] Chapter 16 - 스파크 애플리케이션 개발하기Dev/Spark 2020. 11. 28. 23:56
* 해당 포스트는 "스파크 완벽 가이드" 책을 읽고 난 이후의 정리 내용입니다. 자세한 내용은 "스파크 완벽 가이드" 책을 통해 확인해주세요. 1. 스파크 애플리케이션 작성하기 Spark 어플리케이션: Spark 클러스터와 사용자 코드 예제: 클러스터 모드-로컬 모드, 사전에 정의된 어플리케이션을 사용자 코드로 사용 Spark 가 지원하는 언어: Scala, Python, Java 등 ➕R에서 Spark 애플리케이션을 수행하는 방법 community.rstudio.com/t/how-to-run-r-files-using-spark-submit-from-cdsw-terminal/23678 How to run .R files using spark-submit from CDSW terminal? Hello Te..
-
[스파크 완벽 가이드] Chapter 12 - RDDDev/Spark 2020. 11. 15. 17:22
* 해당 포스트는 "스파크 완벽 가이드" 책을 읽고 난 이후의 정리 내용입니다. 자세한 내용은 "스파크 완벽 가이드" 책을 통해 확인해주세요. RDD 저수준 API는 RDD, SparkContext, Accumulator, Broadcast variable로 이루어짐 12.1 저수준 API란 RDD: 분산 데이터 처리 API Accumulator, Broadcast Variable: 분산형 공유 변수 12.1.1 저수준 API는 언제 사용할까 고수준 API에서 제공하지 않는 기능이 필요한 경우. RDD를 사용해 개발된 기존 코드를 유지해야 하는 경우 사용자가 정의한 공유 변수를 다뤄야 하는 경우 스파크의 모든 워크로드: 저수준 기능을 사용하는 기초적인 형태로 컴파일됨 DataFrame 트랜스포메이션 ->..
-
[스파크 완벽 가이드] Chapter 11 - DatasetDev/Spark 2020. 11. 15. 04:44
* 해당 포스트는 "스파크 완벽 가이드" 책을 읽고 난 이후의 정리 내용입니다. 자세한 내용은 "스파크 완벽 가이드" 책을 통해 확인해주세요. Dataset? Dataset: 구조적 API의 기본 데이터 타입, Scala와 Java에서만 사용 가능 Dataframe: Dataset[Row] 11.1 Dataset을 사용할 시기 DataFrame 기능만으로는 수행할 연산을 표현할 수 없을 때 복잡한 비즈니스 로직을 SQL이나 DataFrame 대신 단일 함수로 인코딩해야 하는 경우 성능 저하를 감수하면서 타입 안정성(type-safe)을 가진 데이터 타입을 사용하고 싶을 때 사용할 Function과 대상 Object의 데이터 타입이 맞지 않는 경우 처럼 데이터 타입이 유효하지 않은 작업을 수행하지 못하도록..
-
[스파크 완벽 가이드] Chapter 2 - 스파크 간단히 살펴보기Dev/Spark 2020. 10. 4. 17:17
* 해당 포스트는 "스파크 완벽 가이드" 책을 읽고 난 이후의 정리 내용입니다. 자세한 내용은 "스파크 완벽 가이드" 책을 통해 확인해주세요. 스파크의 기본 아키텍쳐 커져가는 데이터를 분석(프로세싱)하기 위해서는 더 많은 자원이 필요 더 많은 자원 -> Scale up, Scale out을 통해 이루어짐 Scale up: 하드웨어의 자원을 늘리는 것 Scale out: 하드웨어 자체를 늘리는 것 Spark: Cluster에서 데이터를 프로세싱하기 위한 프레임워크 클러스터 매니저: Cluster에서의 자원 할당을 관리하는 관리자 스파크 애플리케이션에서의 작업 과정 드라이버: main() 함수 프로세스 익스큐터: 드라이버 프로세스가 SparkContext, SparkSession에 할당한 작업 수행 클러스터..