spark(21)
-
[SparkML] MLlib Pipeline 구축하기
Spark MLlib은 Pipeline 컴포넌트를 지원한다. Pipeline은 머신러닝의 워크플로우를 말하기도 하며, 여러 Stage를 담고 있다. persist() 함수를 통해 저장도 가능하다. 그렇다면 실제 코드는 어떻게 짤까? 이전 포스팅에서 다뤘던 택시 데이터로, MLlib Pipeline을 구축해보자. 기본 세팅은 이전 Spark 포스팅들을 보면 이해할 수 있다. [데이터 https://mengu.tistory.com/50?category=932924] [SparkSQL] 택시 데이터 다운/전처리/분석 feat. TLC 이전 포스팅에서 공부한 SparkSQL 지식을 바탕으로, 실제 Taxi 데이터를 전처리해보자. * 전처리란? 이상치 제거, 그룹화 등 데이터 분석이 용이하도록 데이터를 변형하는 ..
2022.05.21 -
[SparkML] MLlib 개념 및 실습 코드
MLlib Machine Learning Library 스파크의 컴포넌트 중 하나로, 머신러닝 파이프라인 개발을 쉽게 하기 위해 개발되었다. MLlib에는 다시 알고리즘(Classification 등) + 파이프라인(Training, Evaluation 등) + FE + Utils(Statistics 등)의 여러 컴포넌트가 있다. MLlib은 DataFrame 위에서 동작하며, MLlib API를 Spark ML이라고 부른다. 이번 포스팅에선 MLlib의 활용을 알고리즘, 파이프라인, FE, Utils에 걸쳐서 차근차근 살펴보도록 하겠다. MLlib 포스팅에서 사용할 데이터는 이전 포스팅에서 다뤘던 '택시 데이터'이다. https://mengu.tistory.com/50?category=932924 [S..
2022.05.20 -
[Analytics] 미국 택시로 생존하는 방법 (1) feat. TLC
당신은 NEWYORK에서 택시 기사로 일하고 있다. 택시는 Yellow Taxi이다. 택시 기사로 생존하기 위해선 다음과 같은 노력이 필요하다. 1) 근무 시간 동안, 손님을 최대한 많이 태울 것 (손님) 2) 많은 요금 + 풍부한 팁 (요금) 3) 현금 결제는 소득에 포함시키지 않고 슬쩍하기 (세금 절약) 두 가지는 단순히 노력만으론 이뤄지지 않는다. 빅데이터를 이용해 손님이 많은 장소와 시간을 특정하고, 미리 대기하고 있어야 한다. 또한 손님이 특정 장소를 요구해도, 그곳이 데이터 상 손님이 많은 장소가 아니라면 용기 있게 Pass 할 필요도 있다. 그렇다면 지금부터 데이터를 살펴보며 전략을 구축해보자. [Data] 데이터는 SparkSQL 포스팅에서 전처리한 Yellow Taxi 데이터(cleane..
2022.05.12 -
[SparkSQL] 택시 데이터 다운/전처리/분석 feat. TLC
이전 포스팅에서 공부한 SparkSQL 지식을 바탕으로, 실제 Taxi 데이터를 전처리해보자. * 전처리란? 이상치 제거, 그룹화 등 데이터 분석이 용이하도록 데이터를 변형하는 과정을 말한다. TLC Trip Record Data에서 먼저 데이터를 받아오자. TLC는 미국의 택시 운전 데이터를 모아놓은 아주 유용한 사이트다. [https://www1.nyc.gov/site/tlc/about/tlc-trip-record-data.page] TLC Trip Record Data - TLC TLC Trip Record Data The yellow and green taxi trip records include fields capturing pick-up and drop-off dates/times, pick-..
2022.05.10 -
[SparkSQL] Catalyst, Tungsten 작동 원리
Spark Backend : Catalyst, Tungsten Spark는 쿼리를 돌리기 위해 위의 두 가지 엔진을 사용한다. Catalyst는 쿼리문을 최적화 시키는데 이용하고, Tungsten은 RDD level에서 용량을 최적화시킨다. Process를 보면 다음과 같다. Spark의 조직도는 다음과 같다. 조직도를 보면 알 수 있다시피 Catalyst는 SQL, DataFrame이 Structured Data를 다룰 수 있게 하는 필수 모듈이다. 그렇다면 Catalyst가 구체적으로 어떤 기능을 하는지 살펴보자. "본 포스팅은 패스트캠퍼스의 강의를 듣고, 정리한 자료임을 밝힙니다." Catalyst의 기능 Logical Plan -> Physical Plan Logical Plan이란? 수행하는 모..
2022.05.09 -
[SparkSQL] DataFrame 다루기
DataFrame SparkSQL에서 다루는 Structured Data로 아주 주요 개념이다. 기본적으로 Lazy Execution, 분산, Immutable이란 RDD의 장점을 가짐과 동시에 구조화(Structured)되어 있어 자동 최적화까지 가능하다. CSV, JSON, Hive 등으로 읽거나 변환도 가능하다. 본격적으로 DataFrame을 다뤄보자. "본 포스팅은 패스트캠퍼스의 강의를 듣고, 정리한 자료임을 밝힙니다." Basic Setting import os import findspark findspark.init(os.environ.get("SPARK_HOME")) import pyspark from pyspark import SparkConf, SparkContext import pand..
2022.05.07