DataEngineering/Spark
-
Spark RDD, DataFrame, DatasetDataEngineering/Spark 2021. 7. 26. 05:49
Spark 에서 제공하는 데이터 API들 RDD(2011) DataFrame(2013) Dataset(2015) -가장 기본적인 저수준 API -JVM object들의 distribute collection -table join, 최적화 등을 사용자가 직접 정의해야함 -고수준 API -Row object들의 distribute collection -사용자 정의 함수 사용 가능 -schema less -고수준 API -내부적으로는 rows, 외부적으로는 JVM object들의 ,, -사용자가 데이터를 객체화해서 사용할 수 있도록 사용자에게 도메인 객체를 제공 -자바, 스칼라만 가능 -자동으로 schema 가짐 RDD(Resilient Distributed Dataset) [특징] In-memory Comp..
-
Spark IntroDataEngineering/Spark 2021. 7. 26. 05:38
스파크란 뭐고 얘가 나타난 이유가 뭘까?! 먼저 하둡의 mapreduce의 한계를 짚어보면 디스크 IO 에 따른 느린 속도 반복적인 알고리즘(머신러닝 / 그래프&네트워크 분석 등), 대화형 데이터 마이닝 에 비효율적인 직렬화 word count를 생각해보면 한번 배치 처리 해라! 하고 엔터 때리면 user는 가만히 기다리는 것 말고 할 수 있는게 없음 진행되는 동안 쿼리 응답 등 받고싶어! 통신 비용 높음 ; 하둡은 기본적으로 network bottleneck이 잦다고 하다. 메모리를 효율적으로 쓰지 못함 맵리듀스 프로그램으로는 구현이 어려움 (실제로 하둡에서의 Mapreduce javac 소스코드랑 스파크에서 구현하는 소스코드 비교해보면 스파크로 개발하는게 훨씬 쉬워진 것을 볼 수 있음) 그니까 데이터..