728x90
๋ฐ์ํ
ํ ์ค ๋น์
๐ “ํ ์ผ ๋ชฉ๋ก๋ง ์ ์ด๋๊ณ ,์ง์ง ์ผ์ ๋ง์ง๋ง์ ํ ๋ฒ์ ํ๋ค.”



Lazy Evaluation ์ด๋?
๐ ์ฐ์ฐ์ ์ฆ์ ์คํํ์ง ์๊ณ ,‘์คํ ๊ณํ(DAG)’๋ง ์์๋๋ ๋ฐฉ์
Spark์์๋:
- filter
- select
- join
๊ฐ์ ๊ฑด ๋ฐ๋ก ์คํ ์ ํจ
์ธ์ ์ง์ง ์คํ๋๋?
๐ Action์ ๋ง๋ฌ์ ๋
Action ์์
- count()
- show()
- collect()
- write()
์ด ์๊ฐ์ Spark๊ฐ:
- ์ง๊ธ๊น์ง ์์ธ ์ฐ์ฐ์ ๋ณด๊ณ
- ์คํ ๊ณํ์ ์ต์ ํํ๊ณ
- ํ ๋ฒ์ ์คํ
์์ ๋ก ๋ณด๋ฉด ๋ฐ๋ก ์ดํด๋จ
df2 = (
df
.filter(df.price > 100)
.select("user_id", "price")
)
๐ ์ฌ๊ธฐ๊น์ง๋ ์๋ฌด ์ผ๋ ์ ํจ
df2.count()
๐ ์ด๋์์ผ ์ง์ง ์คํ
์ ์ด๋ ๊ฒ ํ๋?
1๏ธโฃ ์ต์ ํ ๊ฐ๋ฅ
- ๋ถํ์ํ ์ฐ์ฐ ์ ๊ฑฐ
- ์กฐ๊ฑด ๋จผ์ ์ ์ฉ
- ์ปฌ๋ผ ์ต์ ์ฝ๊ธฐ
๐ ์๋์ผ๋ก ๋น ๋ฅด๊ฒ
2๏ธโฃ ์คํจ ์ค์ด๊ธฐ
- ์ค๊ฐ ๊ฒฐ๊ณผ ์ ์ฅ ์ ํจ
- ํ์ํ ๋๋ง ๊ณ์ฐ
3๏ธโฃ ๋ถ์ฐ ์ฒ๋ฆฌ์ ์ ๋ฆฌ
- ์ ์ฒด DAG ๋ณด๊ณ
- ํํฐ์ /์ ํ ์ ๋ต ์ต์ ํ
Lazy vs Eager (์ฆ์ ์คํ)
๊ตฌ๋ถ Lazy Eager
| ์คํ ์์ | action ์ | ์ฆ์ |
| ์ต์ ํ | ๊ฐ๋ฅ | ๊ฑฐ์ ์์ |
| Spark | โ | โ |
| Pandas | โ | โ |
Lazy Evaluation์ ๋ถ์์ฉ
๐ ์ฒ์ ์ฐ๋ฉด ํท๊ฐ๋ฆผ
- print ์ฐ์๋๋ฐ ์ ๋์ด
- cache ํ๋๋ฐ ํจ๊ณผ ์๋ ๊ฒ ๊ฐ์
โ cache๋ action ์์ด์ผ ์ค์ ๋ก ์ ์ฅ๋จ
๋ฉด์ ์ฉ 20์ด ๋ต๋ณ
“Lazy evaluation์ Spark๊ฐ ๋ณํ ์ฐ์ฐ์ ์ฆ์ ์คํํ์ง ์๊ณ
์คํ ๊ณํ์ผ๋ก๋ง ์์๋์๋ค๊ฐ,
action์ด ํธ์ถ๋ ๋ ์ ์ฒด DAG๋ฅผ ์ต์ ํํด ํ ๋ฒ์ ์คํํ๋ ๋ฐฉ์์ ๋๋ค.”
๋ง์ง๋ง ํต์ฌ ๋ฌธ์ฅ
๐ Lazy evaluation ๋๋ถ์ Spark๋ ๋น ๋ฅด๋ค.
728x90
๋ฐ์ํ
'DataEngineering > Spark' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Spark ์ต์ ํ ์ฒดํฌ๋ฆฌ์คํธ (0) | 2026.01.30 |
|---|---|
| Suffle์ด๋? (1) | 2026.01.30 |
| df.cache() ๋ฅผ ์ธ์ ์จ์ผํ๋? (0) | 2026.01.30 |
| Dataframe ์ด๋? (0) | 2026.01.30 |
| Spark ๋? (0) | 2026.01.30 |