๋ชฉ๋ก์ ์ฒด ๊ธ (59)
๐ฅ
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..
์คํํฌ์์ Join ์์๋ ์ํฉ์ ๋ฐ๋ผ Shuffle ์ฐ์ฐ์ ์ํํด์ผ ํ๊ณ , ์ด๋ executor ์ฌ์ด์ ๋ฐฉ๋ํ ๋ฐ์ดํฐ ์ด๋์ ์ผ๊ธฐํ๋ค. ์คํํฌ์์ ์ฌ์ฉ๋๋ ์กฐ์ธ์ ๋ฐฉ์์ ์๋์ ๊ฐ๋ค. 1. Broadcast Hash Join ๋ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ธํ ๋ ํ ์ชฝ์ด ๋งค์ฐ ์๊ณ ํ ์ชฝ์ ๋งค์ฐ ํฐ ์ฌ์ด์ฆ์ ๋ฐ์ดํฐ์ผ ๋, ๋ ์์ ์ชฝ์ ๋ฐ์ดํฐ๊ฐ Driver์ ์ํด ๋ชจ๋ executor๋ก ๋ณต์ฌ๋๋ ๋ฐฉ์์ด๋ค. ์ฌ์ด์ฆ๊ฐ ์์ ํ ์ด๋ธ์ ํค ๊ฐ์ ํด์ ํ ์ด๋ธ๋ก ๋ง๋ ๋ค. ํด์ ํ ์ด๋ธ์ ๊ฐ์ ํฐ ํ ์ด๋ธ ํํฐ์ ์ ๋ณต์ฌํด์ค๋ค. ๊ฐ ํํฐ์ ๋ด๋ถ์์ ์กฐ์ธ์ ์งํํ๋ค. ์ด ๋ฐฉ์์ shuffle์ ์๋ตํ ์ ์๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ ์ด๋์ ๋ฐ๋ฅธ ์ฝ์คํธ๊ฐ ์ฌ๋ผ์ง๋ค. ๋ชจ๋ executor์ ๋ฐ์ดํฐ๋ฅผ ๋ณต์ฌํ๊ธฐ ๋๋ฌธ์ ๋ณต์ฌํ๋ ค๋ dataset์ด ..
์ค๋น๋ฌผ: ์ธํฐ๋ท์ด ๋๋ vm, rpm 1. rpm ํจํค์ง ๋ค์ด๋ก๋ yum install --downloadonly --downloaddir=$๋ค์ด๋ก๋๋ฐ์๊ฒฝ๋ก $ํจํค์ง๋ช # ์์ yum install --downloadonly --downloaddir=./test librdkafka-devel-0.11.4-1.el7.x86_64 ํจํค์ง ๋ช ์ ์ ํํ๊ฒ ์ ์ด์ค์ผํ๋ค. ์ด๋ ๊ฒ ์ฌ์ฉํ๋ ์ด์ ๋ ์์กดํจํค์ง๊น์ง ์์์ ๋ค์ด๋ก๋ ๋ฐ์์ฃผ๊ธฐ ๋๋ฌธ์ด๋ค. ์๋ฅผ๋ค์ด `librdkafka-devel`์ ๊ฒฝ์ฐ์๋ ์๋์ ๊ฐ์ด ๋ ๊ฐ์ rpm ํ์ผ์ด ๋ฐ์์ง๋ค. (๋ํ๋์๋๋ฌธ์) librdkafka-0.11.4-1.el7.x86_64.rpm librdkafka-devel-0.11.4-1.el7.x86_64.rpm 2. ์ค์นํ๋ ค๋ ์๋ฒ..