๋ชฉ๋ก๋ฐ์ดํ„ฐ (40)

๐Ÿฅ

[Spark] Accumulator์™€ Broadcast (๊ณต์œ ๋ณ€์ˆ˜)

์ฐธ๊ณ : https://spark.apache.org/docs/latest/rdd-programming-guide.html#shared-variables ๊ณต์œ ๋ณ€์ˆ˜ ์ŠคํŒŒํฌ์—์„œ๋Š” ๋ถ„์‚ฐํ•˜์—ฌ ๋ณ‘๋ ฌ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„ํ• ํ•ด์„œ(ํŒŒํ‹ฐ์…”๋‹) ์—ฌ๋Ÿฌ ๋จธ์‹ ์—์„œ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•œ๋‹ค. ์ด๋•Œ ์‚ฌ์šฉ๋œ ๋ชจ๋“  ๋ณ€์ˆ˜๋Š” ๋ฐฐํฌ๋  ๋•Œ ๋ณต์‚ฌ๋œ ๋ณต์‚ฌ๋ณธ์œผ๋กœ ์ž‘๋™ํ•˜๋Š”๋ฐ, ์ด๋Ÿฌํ•œ ๋ณ€์ˆ˜์˜ ์—…๋ฐ์ดํŠธ๋Š” driver์— ๋‹ค์‹œ ์ „๋‹ฌ๋˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์–ด๋–ค ์กฐ๊ฑด(?) ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š”๋ฐ, ์ด๋Ÿด๋•Œ ์ œํ•œ๋œ ์œ ํ˜•์˜ ๊ณต์œ  ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ ํ›„ ์›ํ•˜๋Š” ๊ฐ’์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋‹ค. Broadcast Variable ๋ธŒ๋กœ๋“œ์บ์ŠคํŠธ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ณ€์ˆ˜์˜ ๋ณต์‚ฌ๋ณธ์„ ์ „๋‹ฌํ•˜๋Š”๊ฒŒ ์•„๋‹Œ, Read Only ๋ณ€์ˆ˜๋ฅผ ๊ฐ ์›Œ์ปค ๋…ธ๋“œ์— ์บ์‹œ๋œ ์ƒํƒœ๋กœ..

๋ฐ์ดํ„ฐ/Spark 2024. 4. 1. 20:55
[Spark] ์ŠคํŒŒํฌ ์Šค์ผ€์ฅด๋ง

Application ์Šค์ผ€์ฅด๋ง ๊ด€๋ จํ•˜์—ฌ https://community.cloudera.com/t5/Community-Articles/Dynamic-Allocation-in-Apache-Spark/ta-p/368095 ์ด์ชฝ์— ์ •๋ฆฌ๊ฐ€ ์ž˜ ๋˜์–ด ์žˆ๋‹ค. SRA(Static Resource Allocation) spark ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ์‹คํ–‰๋˜๊ธฐ ์ „ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉํ•  ๋ฆฌ์†Œ์Šค๋ฅผ ๋ฏธ๋ฆฌ ์˜ˆ์•ฝํ•ด๋‘”๋‹ค. ์ด ๋ฆฌ์†Œ์Šค์˜ ์–‘์€ ๊ณ ์ •๋˜์–ด์„œ ๋Ÿฐํƒ€์ž„์ค‘์—๋Š” ๋ณ€๊ฒฝ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ๋งŒ์•ฝ ํ• ๋‹น๋œ ๊ฒƒ๋ณด๋‹ค ๋” ๋งŽ์€ ๋ฆฌ์†Œ์Šค๊ฐ€ ํ•„์š”ํ•˜๋‹ค๋ฉด ์‹คํ–‰์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๊ฑฐ๋‚˜ ์‹คํŒจํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฆฌ์†Œ์Šค๊ฐ€ ๊ณ ์ •๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งŒ์•ฝ ํ• ๋‹น๋œ ๋ฆฌ์†Œ์Šค๊ฐ€ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋น„ํšจ์œจ์ ์ธ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ์œผ๋กœ ์ด์–ด์ง€๊ฒŒ ๋œ๋‹ค. ๋˜ํ•œ ๋Ÿฐํƒ€์ž„์ค‘์— ๋ฆฌ์†Œ์Šค๋ฅผ ์กฐ์ •ํ•˜๋Š”๊ฒƒ์ด ๋ถˆ๊ฐ€..

๋ฐ์ดํ„ฐ/Spark 2024. 4. 1. 15:22