๐ Data Engineering/Apache Spark(17)
-
[Spark] Key-Value RDD ๊ฐ๋ ๋ฐ ์ฝ๋
Key-Value RDD (Key, Value) ์์ ๊ฐ์ง๋ RDD๋ก, Paris RDD๋ผ๊ณ ๋ถ๋ฆฌ๊ธฐ๋ ํ๋ค. Single Value RDD์ Key-Value RDD๋ ํ์ฉ ์์์ด ์กฐ๊ธ ๋ค๋ฅธ๋ฐ, ๋ค์๊ณผ ๊ฐ๋ค. Single Value RDD ์) ํน์ ๋จ์ด ์ ์ธ๊ธฐ Key-Value RDD ์) ํน์ ๋๋ผ๋ง๊ฐ ๋ฐ์ ๋ณ์ ์ ํ๊ท RDD๊ฐ ๋ฌด์์ธ์ง ๋ชจ๋ฅด๊ฒ ๋ค๋ฉด? https://mengu.tistory.com/27?category=932924 [Spark] RDD ๊ฐ๋ ๋ฐ ์ฝ๋ RDD(Resilient Distributed Dataset)๋? ์ง์ญํ๋ฉด ํ๋ ฅ์ ์ธ ๋ถ์ฐ ๋ฐ์ดํฐ์ ์ด๋ค. ๋ง ๊ทธ๋๋ก ๋ฐ์ดํฐ๋ฅผ ํด๋ฌ์คํฐ์ ๋ถ์ฐํ์ฌ ์ ์ฅํ๋ฉฐ, ๊ทธ๋ฐ ๋ฐ์ดํฐ๋ฅผ ํ๋ ฅ์ ์ผ๋ก ์ด์ฉ(์ด์ ๋ฐ์ ์ ๊ณผ๊ฑฐ ๋ฐ์ดํฐ๋ก ๋์๊ฐ๊ธฐ mengu.tis..
2022.05.01 -
[Spark] ๋ถ์ฐ/๋ณ๋ ฌ ์ฒ๋ฆฌํ ๋ ์ฃผ์ํ ์
์ ํฌ์คํ ์์ ์ธ๊ธํ๋ฏ์ด, Spark๋ ๋ถ์ฐ/๋ณ๋ ฌ ์ฒ๋ฆฌ๋ฅผ ์ง์ํ๋ค. ํ์ง๋ง ๋ถ์ฐ/๋ณ๋ ฌ ์ฒ๋ฆฌ๊ฐ ๋๋ค๊ณ ๋ง๋ฅ ๋ฏฟ๊ณ ์ฐ๊ธฐ๋ง ํด์๋ ์๋๋ค. ๋ถ์ฐ/๋ณ๋ ฌ ์ฒ๋ฆฌ์ ์ฑ๋ฅ์ ์ฌ๋ฆฌ๊ณ , ๋น์ฉ์ ์ค์ด๊ธฐ ์ํด์ ์๊ฐํด์ค์ผ ํ ๊ฒ๋ค์ด ๋ช๋ช ์๋ค. ์ง๊ธ๋ถํฐ ๊ทธ ์์๋ค์ ์ดํด๋ณด๊ณ ์ด๋ป๊ฒ ์ฝ๋ฉํด์ผ ํ ์ง ๋ฐฉํฅ์ ์ง์ด๋ณด์. Distributed Data-Parallel ๋จผ์ Spark์ ํต์ฌ์ธ 'Distributed Data-Parallel'์ ๋ํด์ ์์๋ณด์. ๋ถ์ฐ๋ ํ๊ฒฝ์์์ ๋ณ๋ ฌ ์ฒ๋ฆฌ๋? 1) ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ๊ฐ๋ก ๋๋์ด ์ฌ๋ฌ ๋ ธ๋๋ก ๋ณด๋ธ๋ค. 2) ๊ฐ ๋ ธ๋์์ ๋ ๋ฆฝ์ ์ผ๋ก task๋ฅผ ์ํ. 3) ๊ฐ์ ๋ง๋ ๊ฒฐ๊ด๊ฐ์ ํฉ์น๋ค. ์ด ์ผ๋ จ์ ๊ณผ์ ์ด ๋ถ์ฐ๋ ํ๊ฒฝ์์์ ๋ณ๋ ฌ ์ฒ๋ฆฌ์ด๋ฉฐ, ๊ทธ๋ฆผ์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. Spark๋ฅผ ์ฒ์ ์ ํ๋ค๋ฉด,..
2022.05.01 -
[Spark] RDD ๊ฐ๋ ๋ฐ ์ฝ๋
RDD(Resilient Distributed Dataset)๋? ์ง์ญํ๋ฉด ํ๋ ฅ์ ์ธ ๋ถ์ฐ ๋ฐ์ดํฐ์ ์ด๋ค. ๋ง ๊ทธ๋๋ก ๋ฐ์ดํฐ๋ฅผ ํด๋ฌ์คํฐ์ ๋ถ์ฐํ์ฌ ์ ์ฅํ๋ฉฐ, ๊ทธ๋ฐ ๋ฐ์ดํฐ๋ฅผ ํ๋ ฅ์ ์ผ๋ก ์ด์ฉ(์ด์ ๋ฐ์ ์ ๊ณผ๊ฑฐ ๋ฐ์ดํฐ๋ก ๋์๊ฐ๊ธฐ ๋ฑ)ํ ์ ์๊ฒ ํ๋ ๋ฐ์ดํฐ์ ์ด๋ค. ์ง๊ธ๋ถํฐ RDD์ ํน์ง์ ํบ์๋ณด์. 1. ๋ฐ์ดํฐ์ ๋ถ์ฐ RDD๋ ๋ค์๊ณผ ๊ฐ์ด ๋ฐ์ดํฐ๋ฅผ ์ฌ๋ฌ ํด๋ฌ์คํฐ์ ๋ถ์ฐ ์ ์ฅํ๋ ๋ฐฉ์์ด๋ค. ํ์ง๋ง ์ฌ๋ฌ ํด๋ฌ์คํฐ์ ํฉ์ด์ ธ์์ด๋ ํ๋์ ํ์ผ์ฒ๋ผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๋ฅํ๋ค. # ํจํค์ง๋ฅผ ๊ฐ์ ธ์ค๊ณ from pyspark import SparkConf, SparkContext import pandas as pd # Spark ์ค์ conf = SparkConf().setMaster("local").setAppName("ube..
2022.04.24 -
[Spark] Apache Spark ๊ฐ๋ ๋ฐ ๋ฒ์
Apache Spark์ ๋ํด ์์๋ณด์. Apache Spark๋ ๋น ๋ฐ์ดํฐ ์ฒ๋ฆฌ๋ฅผ ์ํ ์คํ์์ค ์์ง(๊ณ ์ ๋ถ์ฐ์ฒ๋ฆฌ)์ด๋ค. ์ด๋ฏธ ์๋ง์กด, ์ฐ๋ฒ, ๋ทํ๋ฆญ์ค ๋ฑ ๋ค์ํ ๊ธฐ์ ์์ ์ฐ์ด๊ณ ์๋ค. Apache Spark ๋ฑ์ฅ ๋ฐฐ๊ฒฝ ๋ฐ์ดํฐ๊ฐ ์์์ง๋ฉด์ 3๊ฐ์ง ๋ฌธ์ ๋ฅผ ๋ง์ดํ๋ค. 1. ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ ๊ธฐํ๊ธ์์ ์ผ๋ก ์ฆ๊ฐํ๋ค. 2. ๋ฐ์ดํฐ๊ฐ ์์ฑ๋๋ ์๋๊ฐ ์ด๋ง์ด๋งํ๊ฒ ์ฆ๊ฐํ๋ค. 3. ๋ฐ์ดํฐ์ ์ข ๋ฅ๋ ์ฆ๊ฐํ๋ค. ๋ฌผ๋ก ๋ฐ์ดํฐ๋ฅผ ํตํด ์ธ์ฌ์ดํธ๋ฅผ ์ป๊ณ ์ ํ๋ ์ฌ๋ ์ ์ฅ์์ ์ข์ ์๋ ์๋ค. ํ์ง๋ง ๋ถ์ ์ ์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ์ฅํด์ผ ํ๋ ์ ์ฅ์์ ๋ฌธ์ ๊ฐ ์๋ ์ ์๋ค. ๋ฐ์ดํฐ ํฌ๊ธฐ๊ฐ ์ฆ๊ฐํ๋ฉด ์ ์ฅ ๋น์ฉ์ด ์ฆ๊ฐํ๊ณ , ์์ฑ๋๋ ์๋๊ฐ ์ฆ๊ฐํ๋ฉด ์ ์ฅํ๋ ์๋๊ฐ ๋ฐ๋ผ์ก์ง ๋ชปํด ์๋ง๊ฒ ์ฒ๋ฆฌํ ์๊ฐ์ ํ๋ณดํ์ง ๋ชปํ๋ค. ์ข ๋ฅ๊ฐ ์ฆ๊ฐํ๋ฉด..
2022.04.23 -
[Spark] ์ด๊ธฐ ํ๊ฒฝ ์ธํ ft. ํธํ ๋ฌธ์ ํด๊ฒฐ
์ด๋ฒ ํฌ์คํ ์ Spark ์ด๊ธฐ ํ๊ฒฝ ์ธํ ์ด๋ค. Spark, pyspark, java ๋ฑ ๊ทธ๋ฅ ์ค์นํด์ ๋๋ด๋ฉด ๋๋ ๊ฑฐ ์๋๋ ํ ์ ์์ง๋ง, ์ค๊ฐ์ ๋ฒ์ ํธํ ๋ฌธ์ ๊ฐ ์กด์ฌํด์ ๋งํ ์ ์๋ค. ๊ทธ ๋ถ๋ถ์ ์ง์ด์ฃผ๊ณ ์ ํฌ์คํ ์ ํ๋ค. * ํด๋น ํฌ์คํ ์ windows 10 ํ๊ฒฝ์์ ์งํํ๋ค. Anaconda ์ค์น ๋จผ์ https://www.anaconda.com/ ๋งํฌ์ ์ ์ํ๋ค. Downloads๋ฅผ ๋๋ฌ์ ์ค์น ํ์ผ์ ๋ฐ์์ค๋ค. ๊ทธ ๋ค์, exe ํ์ผ์ ๋๋ฌ์ ๋ค์ ์ค์น๋ฅผ ์ญ ์งํํ๋ค. Anaconda prompt๋ฅผ ์ด์ด์ python ์์น๋ฅผ ํ์ธํ๋ค. ์ค์น ๊ฒฝ๋ก: C:\Users\W21841\anaconda3\python.exe * ๊ฐ์ธ ์ปดํจํฐ๋ง๋ค ๊ฒฝ๋ก๋ ๋ค๋ฅผ ์ ์๋ค. Java ์ค์น Oracle Java ..
2022.04.20