๐ Data Engineering(23)
-
[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 -
[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] UDF ๊ฐ๋ ๋ฐ ์ฝ๋
UDF User Define Function. ์ฆ, ์ฌ์ฉ์ ์ง์ ํจ์๋ฅผ ๋งํ๋ค. ์์ ํฌ์คํ ์์ ๋ฐ์ดํฐ ํ๋ ์์ ์ฒ๋ฆฌํ๋ ์ฌ๋ฌ ํจ์๋ค์ ๋ณด์๋ค. SparkSQL์์ ์ฌ์ฉ์๊ฐ ์ง์ ์ด๋ค ์์ ์ ์ํํ๋ ํจ์๋ฅผ ๋ช ๋ช ํ๊ณ , Spark์ ๋ฑ๋กํ์ฌ ์ธ ์ ์๋ค. ์์ธํ๊ฒ ์์๋ณด์. "๋ณธ ํฌ์คํ ์ ํจ์คํธ์บ ํผ์ค์ ๊ฐ์๋ฅผ ๋ฃ๊ณ , ์ ๋ฆฌํ ์๋ฃ์์ ๋ฐํ๋๋ค." Basic Setting import os import findspark findspark.init(os.environ.get("SPARK_HOME")) import pyspark from pyspark import SparkConf, SparkContext import pandas as pd import faulthandler faulthandler.enable(..
2022.05.08 -
[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