๋ชฉ๋ก๋ฐ์ดํฐ/Spark (22)
๐ฅ
์คํํฌ์์ ๋ฐ์ดํฐ ๊ตฌ์กฐ ์ข ๋ฅ์๋ ์ธ ๊ฐ๊ฐ ์๋ค. RDD: spark 1.0 ๋์ Dataframe: spark 1.3 ๋์ Dataset: spark 1.6 ๋์ ์ฐธ๊ณ ๋ก spark 2.0๋ถํฐ dataframe api๋ datasets๊ณผ ํตํฉ๋์๋ค. (์ค์นผ๋ผ์ ์๋ฐ์์) ` Unifying DataFrames and Datasets in Scala/Java: Starting in Spark 2.0, DataFrame is just a type alias for Dataset of Row. ` 1. RDD๋? Reillient Distributed Data๋ก ํ์ด์ฐ์ฌ์ง๋ RDD๋ ํ๋ณต๋ ฅ ์๋/๋ถ๋ณ์ ๋ถ์ฐ ๋ฐ์ดํฐ ์ ๋๋ก ํด์๋ ์ ์๋ค. ์คํํฌ์ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐ์ดํฐ ๋จ์์ด๋ค. ๋ถ๋ณ์ ํน์ฑ RDD๋ ์ด๋ฆ(Re..
spark-submit ์ด๋? spark-submit์ ์คํํฌ application์ ํด๋ฌ์คํฐ์ ๋ฐฐํฌํ ๋ ์ฌ์ฉํ๋ ์คํฌ๋ฆฝํธ์ด๋ค. ์ด ์คํฌ๋ฆฝํธ๋ application์์ ์ฌ์ฉํ๋ ๋ฆฌ์์ค๋ฅผ ์ ์ดํ๋ ์ฌ๋ฌ ํ๋๊ทธ๋ฅผ ์ ๊ณตํ๋ค. spark-submit ์ต์ ./bin/spark-submit \ --class \ --master \ --deploy-mode \ --conf = \ ... # other options \ [application-arguments] --py-files file1.py,file2.py,file3.zip my_python_file.py ์์ spark-submit ์ฃผ์ ์ต์ ์์์ ํ๋๊ทธ ๊ฐ๋ค์ ํ๋์ฉ ์ดํด๋ณด๋ฉด ์๋์ ๊ฐ๋ค. master ํ๋๊ทธ (cluster manager) spark ..
Spark 2.x ์์๋ rule-based/cost-based์ ๋ฐฉ์์ผ๋ก ์ฟผ๋ฆฌ๋ฅผ ์ต์ ํํ๋ค. Spark 3.0๋ถํฐ๋ ๋ฐํ์์ ์ต์ ํํ ์ ์๋ AQE๊ฐ ๋์ ๋์๊ณ , Spark 3.2 ๋ถํฐ๋ AQE ํ์ฑํ๊ฐ ๋ํดํธ ๋ฒ์ ์ด๋ค. AQE์์๋ ์ฟผ๋ฆฌ๋ฅผ ์ต์ ํํ๊ธฐ ์ํด ํฌ๊ฒ ์๋์ ์ธ ๊ฐ์ง์ ๊ธฐ๋ฅ์ ์ง์ํ๋ค. Coalescing Post shuffle partitions Switching join strategies Optimizing Skew Join Coalescing Shuffle Partitions ์ ํ ํํฐ์ ์ ์๋ฅผ ์ต์ ํํด์ฃผ๋ ๊ธฐ๋ฅ์ด๋ค. ์ ํ์ ์คํํฌ ์ดํ๋ฆฌ์ผ์ด์ ์ ์ฑ๋ฅ์ ๋งค์ฐ ํฐ ์ญํ ์ ์ฐจ์งํ๊ณ , ๊ธฐ์กด์๋ ์ฌ์ฉ์๊ฐ ์ ํ ํฌ๊ธฐ ๋ฐ ํํฐ์ ์ ์ง์ ํ์ธํ๋ฉฐ ์๋์ผ๋ก ํํฐ์ ์๋ฅผ ์กฐ์ ํด์ฃผ์ด์ผ ํ๋ค. AQE์..
์ฐธ๊ณ : https://community.cloudera.com/t5/Community-Articles/Spark-Memory-Management/ta-p/317794 Spark Executor Memory ๊ตฌ์กฐ Executor Container์ ๋ฉ๋ชจ๋ฆฌ ๊ตฌ์กฐ๋ ์ด๋ฏธ์ง์ ๊ฐ์ด ํฌ๊ฒ Memory Inside of JVM: spark.executor.memory Memory Outside of JVM: spark.yarn.executor.MemroyOverHead ๋ก ๋๋๋ค. Object์ ์ฝ๊ธฐ/์ฐ๊ธฐ ์๋๋ `on-heap > off-heap > disk` ์์๋ก ๋น ๋ฅด๋ค. Memory Inside of JVM (=On-Heap Memory = In-Memory) java GC ๊ด๋ฆฌ ํ์ ์๋ ๋ฉ๋ชจ๋ฆฌ ์์ญ์ด๋ค...
graphX๋ ์คํํฌ์์ graph computation์ ์ํํ๊ธฐ ์ํ Spark API์ด๋ค. ์คํํฌ ๋ฌธ์์ ์ค๋ช ๋์ด ์๋ GraphX์ ์ฅ์ ์ ์๋์ ๊ฐ๋ค. Flexibility ๋จ์ผ ์์คํ ๋ด์์ ETA, ๋ถ์, ๊ทธ๋ํ ๊ณ์ฐ์ ํตํฉํ ์ ์๋ค. RDD/Dataframe์์ ๊ทธ๋ํ๋ก ํจ์จ์ ์ธ ๋ณํ์ด ๊ฐ๋ฅํ๋ฉฐ, Pregel API๋ก ์ฌ์ฉ์ ์ ์ ๋ฐ๋ณต ๊ทธ๋ํ ์๊ณ ๋ฆฌ์ฆ์ ์์ฑํ ์ ์๋ค. Speed ์ค์ ๊ทธ๋ํ ์ปดํจํ ๋ชฉ์ ์ผ๋ก ๋ง๋ค์ด์ง ์์คํ (specialized graph processing system)๊ณผ ๋น๊ตํ์ฌ ๋น์ทํ ์ฑ๋ฅ์ ๋ณด์ธ๋ค. Algorithm ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ์ด ์๋ค. PageRank Connected components Label propagation SVD++ Strongly conne..