์ด ๋ฌธ์์์๋ ๋๊ท๋ชจ ์ผ๊ด ํ์ดํ๋ผ์ธ์์ ์์ ์คํจ ์ํฅ์ ์ต์ํํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. ๋๊ท๋ชจ ์ํฌ๋ก๋ ์คํจ๋ ๋ณต๊ตฌํ๊ณ ์์ ํ๋ ๋ฐ ๋๋ ์๊ฐ๊ณผ ๋น์ฉ์ผ๋ก ์ธํด ํนํ ์ํฅ๋ ฅ์ด ํฝ๋๋ค. ์ด๋ฌํ ํ์ดํ๋ผ์ธ์ด ์คํจํ์ฌ ํ์ดํ๋ผ์ธ์ ์ฒ์๋ถํฐ ์ฌ์๋ํ๋ฉด ์๊ฐ๊ณผ ๋น์ฉ์ด ๋ง์ด ์์๋ฉ๋๋ค.
๋น์ฉ์ด ๋ง์ด ๋๋ ์ผ๊ด ํ์ดํ๋ผ์ธ ์คํจ๋ฅผ ์ค์ด๋ ค๋ฉด ์ด ํ์ด์ง์ ๊ฐ์ด๋๋ผ์ธ์ ๋ฐ๋ฅด์ธ์. ์คํจํ ์์์ ํ์ดํ๋ผ์ธ ์คํจ๋ฅผ ํญ์ ์๋ฒฝํ๊ฒ ๋ฐฉ์งํ ์ ์์ผ๋ฏ๋ก ์ ๊ณต๋ ๊ธฐ๋ฒ์ ๋ณต์๋ ฅ ํฅ์, ์คํจ ๋น์ฉ ๊ฐ์, ์คํจ ๋ฐ์ ์ ์คํจ๋ฅผ ๋์ฑ ์ฝ๊ฒ ๋๋ฒ๊ทธํ๊ณ ์ดํดํ๋ ๋ฐฉ๋ฒ์ ์ค์ ์ ๋ก๋๋ค.
์ผ๋ฐ์ ์ธ ํ์ดํ๋ผ์ธ ๊ถ์ฅ์ฌํญ์ Dataflow ํ์ดํ๋ผ์ธ ๊ถ์ฅ์ฌํญ์ ์ฐธ์กฐํ์ธ์.
๋๊ท๋ชจ ์์ ์ ์ํด ์๊ท๋ชจ ์คํ ์คํ
๋๊ท๋ชจ ์ผ๊ด ์์ ์ ์คํํ๊ธฐ ์ ์ ๋ฐ์ดํฐ ์ธํธ ํ์ ์งํฉ์์ ์๊ท๋ชจ ์์ ์ ํ๋ ์ด์ ์คํํฉ๋๋ค. ์ด ๊ธฐ๋ฒ์ ์์ ๋น์ฉ์ ํ์ ํ๊ณ ์ ์ฌ์ ์ธ ์ฅ์ ์ ์ ์ฐพ๋ ๋ฐ ๋ชจ๋ ๋์์ด ๋ ์ ์์ต๋๋ค.
์์ ๋น์ฉ
์คํ์ ์คํํ๋ฉด ์ด ์์
์คํ ๋น์ฉ์ ๋ํ ์์ ํํ์ ํ์
ํ ์ ์์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์์
๋น์ฉ ๊ณ์ฐ์์ cost of test job*size(full dataset)/size(test dataset)
์
๋๋ค. ํ์ดํ๋ผ์ธ์ ๋ฐ๋ผ ๋น์ฉ์ด ์ด์ ํ์ผ๋ก ํ์ฅ๋๊ฑฐ๋ ๋๋ฌผ๊ฒ ์ ํ์ผ๋ก ํ์ฅ๋ ์ ์์ต๋๋ค. ํ์ง๋ง ์ด ๋จ๊ณ๋ฅผ ํตํด ์์
๋น์ฉ์ ๋๋ต์ ์ผ๋ก ์์ธกํ ์ ์์ต๋๋ค. ๋ค์ํ ์
๋ ฅ ํฌ๊ธฐ๋ฅผ ์๋ํ์ฌ ๋น์ฉ์ด ํ์ฅ๋๋ ๋ฐฉ์์ ๋ ์ ํํ๊ฒ ์์ธกํ ์๋ ์์ต๋๋ค. ์ด ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ์กด ํ์ดํ๋ผ์ธ์ ๊ณ์ ์งํํ ์ง ์๋๋ฉด ๋น์ฉ์ ์ ๊ฐํ๊ธฐ ์ํด ํ์ดํ๋ผ์ธ์ ์ฌ๊ตฌ์ฑํ ์ง ๊ฒฐ์ ํฉ๋๋ค.
์ฅ์ ์ ์ฐพ๊ธฐ
์คํ์ ์คํํ๋ฉด ๋ฒ๊ทธ, ์ ์ฌ์ ์ฅ์ ์ ๋๋ ์ ์ฌ์ ๊ตฌ์ฑ ๋ฐ ํจ์จ ๋ฌธ์ ๊ฐ ๋ ธ์ถ๋ ์ ์์ต๋๋ค. ๋ค์ ์ธก์ ํญ๋ชฉ๊ณผ ๊ฐ์ ๋ค๋ฅธ ํ์ดํ๋ผ์ธ ์ธก์ ํญ๋ชฉ๋ ๊ฒ์ฌํ ์ ์์ต๋๋ค.
- ํ์ดํ๋ผ์ธ์์ ์ฌ์ฉ ๊ฐ๋ฅํ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๊ฑฐ์ ๋ค ์ฌ์ฉํ ๊ฒฝ์ฐ ๋ถํ๊ฐ ๋๊ฑฐ๋ ๋ ์ฝ๋๊ฐ ๋งค์ฐ ํฌ๋ฉด ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ(OOM) ์์ธ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์ด๋ฌํ OOM ์ค๋ฅ๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ์ต์ข ์์ ์ ๋ ๋ง์ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํ๋ก๋น์ ๋ํด์ผ ํ ์ ์์ต๋๋ค.
- ํ์ดํ๋ผ์ธ ์ฒ๋ฆฌ๋์ด ๊ฐ์ํ๋ฉด ํ์ดํ๋ผ์ธ ๋ก๊ทธ๋ฅผ ๊ฒ์ฌํ์ฌ ์์ธ์ ํ์ ํฉ๋๋ค. ์ค๋จ๋ ์์๋ ํนํ ์ฑ๋ฅ์ด ์ข์ง ์์ ๋ฐ์ดํฐ ์ธํธ ๋ถ๋ถ์ ๋ฐ๊ฒฌํ ์ ์์ต๋๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ ํฌ์ธํธ๋ฅผ ๋ณ๋๋ก ์ฒ๋ฆฌํ๊ฑฐ๋ ์์๋ฅผ ์ฒ๋ฆฌํ ๋ ์ ํ ์๊ฐ์ ์ ์ฉํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ด ๋ฌธ์์ ๋น์ฉ์ด ๋ง์ด ๋๋ ๋ ์ฝ๋์ ์ ํ ์๊ฐ ์ ์ฉ ์น์ ์ ์ฐธ์กฐํ์ธ์.
- Dataflow ํ์คํฌ์์์ ํ์ดํ๋ผ์ธ ์ฑ๋ฅ์ด ๋ก์ปฌ์์ ๋ณด๋ค ํจ์ฌ ๋ ๋์๋ฉด ํ์ดํ๋ผ์ธ ๋ก์ง์ ๊ฒ์ฌํ์ฌ ๊ทธ ์์ธ์ ํ์
ํฉ๋๋ค. ์๋ฅผ ๋ค์ด Dataflow์์ ์ฝ์ด 8๊ฐ๋ฅผ ์ฌ์ฉํ ๋์ ๋ก์ปฌ์์ ์ฝ์ด 1๊ฐ๋ฅผ ์ฌ์ฉํ ๋์ ์ฒ๋ฆฌ๋์ด ๊ฐ์ผ๋ฉด ๋ฆฌ์์ค ๊ฒฝํฉ์ผ๋ก ์ธํด ์์
์์ ๋ณ๋ชฉ ํ์์ด ๋ฐ์ํ ๊ฒ์ผ ์ ์์ต๋๋ค. ์ฑ๋ฅ์ด ์์๋ณด๋ค ์ข์ง ์์ผ๋ฉด ๋ค์ ์ต์
์ค ํ๋ ์ด์์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
- ๋ค์ํ ๋จธ์ ๋๋ ์ํํธ์จ์ด ๊ตฌ์ฑ์ผ๋ก ์คํ์ ๋ ๋ง์ด ์คํํฉ๋๋ค.
- ๋ก์ปฌ์์ ์ฝ์ด ์ฌ๋ฌ ๊ฐ๋ฅผ ๋์์ ์ฌ์ฉํ์ฌ ํ ์คํธํฉ๋๋ค.
- ์ฝ๋๋ฅผ ๊ฒ์ฌํ์ฌ ๋๊ท๋ชจ๋ก ๋ฐฐํฌํ ๋ ๋ฐ์ํ ์ ์๋ ๋ณ๋ชฉ ํ์์ ์ฐพ์ต๋๋ค.
ํ์ดํ๋ผ์ธ์ Dataflow ๊ถ์ฅ์ฌํญ์ด ์์ผ๋ฉด ์ด๋ฅผ ๋ฐ๋ผ ์ฑ๋ฅ์ ๊ฐ์ ํฉ๋๋ค.
๋ฐ๋ ๋ ํฐ ํ๋ฅผ ์ฌ์ฉํ์ฌ ์๊ธฐ์น ๋ชปํ ์๋ชป๋ ๋ฐ์ดํฐ ์ฒ๋ฆฌ
ํ์ดํ๋ผ์ธ์ ๋๋ถ๋ถ์ ์ ๋ ฅ ์์์์ ์ฑ๊ณตํ์ง๋ง ์ ๋ ฅ ํ์ ์งํฉ ์ผ๋ถ์์๋ ์คํจํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์๊ท๋ชจ ์คํ์ ์คํํ ๋๋ ์ ๋ ฅ ํ์ ์งํฉ๋ง ํ ์คํธํ๋ฏ๋ก ์ด ๋ฌธ์ ๊ฐ ๋ฐ๊ฒฌ๋์ง ์์ ์ ์์ต๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก Dataflow๋ ์ด๋ฌํ ์คํจํ ํ์คํฌ๋ฅผ ์ผ๊ด ๋ชจ๋์์๋ 4๋ฒ, ์คํธ๋ฆฌ๋ฐ ๋ชจ๋์์๋ ๋ฌด์ ํ์ผ๋ก ์ฌ์๋ํฉ๋๋ค. ์ผ๊ด ๋ชจ๋์์๋ ์ฌ์๋ ํ๋์ ๋๋ฌํ๋ฉด ์ ์ฒด ์์ ์ด ์คํจํฉ๋๋ค. ์คํธ๋ฆฌ๋ฐ ๋ชจ๋์์๋ ๋ฌด๊ธฐํ์ผ๋ก ์ ์ง๋ ์ ์์ต๋๋ค.
๋ง์ ์์
์์ ์ด๋ฌํ ์คํจ ์์๋ฅผ ํ์ดํ๋ผ์ธ์์ ์ ์ธํ๊ณ ๋ฐ๋ ๋ ํฐ ํ(์ฒ๋ฆฌ๋์ง ์์ ๋ฉ์์ง ํ)๋ฅผ ์ฌ์ฉํ์ฌ ๋๋จธ์ง ์์
์ ์๋ฃํ ์ ์์ต๋๋ค. ๋ฐ๋ ๋ ํฐ ํ๋ ์คํจํ ๋ ์ฝ๋๋ฅผ ๋ณ๋์ ์ถ๋ ฅ PCollection
์ ์ ๋ฌํ๋ฉฐ ์ด ์ถ๋ ฅ์ ๊ธฐ๋ณธ ์ถ๋ ฅ๊ณผ ๋ณ๋๋ก ๊ด๋ฆฌ๋ ์ ์์ต๋๋ค. ์ด ๊ตฌ์ฑ์ ์ฌ์ฉํ๋ฉด ์ด๋ฌํ ๋ ์ฝ๋์ ๋ํ ์ ์ฑ
์ ์ค๊ณํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ ์ฝ๋๋ฅผ Pub/Sub์ ์๋์ผ๋ก ์์ฑํ๊ณ ๊ฒ์ฌ ๋ฐ ์ ๋ฆฌํ ํ์ ๋ ์ฝ๋๋ฅผ ๋ค์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.
๋ง์ Apache Beam ๋ณํ์์ ๋ฐ๋ ๋ ํฐ ํ์ ๋ํ ์ง์์ ๊ธฐ๋ณธ ์ ๊ณตํฉ๋๋ค. Java์์๋ ErrorHandler
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ ์ก์ธ์คํ ์ ์์ต๋๋ค. Python์์๋ with_exception_handling
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ก์ธ์คํ ์ ์์ต๋๋ค. ์ผ๋ถ ๋ณํ์๋ ๋ฐ๋ ๋ ํฐ ํ๋ฅผ ์ ์ํ๋ ์ปค์คํ
๋ฐฉ๋ฒ์ด ์์ผ๋ฉฐ ๋ณํ ๋ฌธ์์์ ์ด ๋ฐฉ๋ฒ์ ํ์ธํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ค๋ฅ ์ฒ๋ฆฌ์ ๋ฐ๋ ๋ ํฐ ํ ์ฌ์ฉ์ ์ฐธ์กฐํ์ธ์.
์์ ์ด ๋ฐ๋ ๋ ํฐ ํ์ ๊ธฐ์ค์ ์ถฉ์กฑํ๋์ง ํ์ธํ๋ ค๋ฉด ์ด ๋ฌธ์์ ์ ํ์ฌํญ ์น์ ์ ์ฐธ์กฐํ์ธ์.
๋ฐ๋ ๋ ํฐ ํ ์ ํ์ฌํญ
๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์๋ ๋ฐ๋ ๋ ํฐ ํ๊ฐ ๋์์ด ๋์ง ์์ ์ ์์ต๋๋ค.
- ์ ์ฒด ์์
์ ๋๋
DoFn
์๋ช ์ฃผ๊ธฐ ์คํจ. ์ ์ฒด ์์ ์๋ ๋ฒ๋ค์ ์ฒ๋ฆฌ๊ฐ ์คํจํ๋ฉด ๋ฐ๋ ๋ ํฐ ํ์์ ์คํจ๋ฅผ ํฌ์ฐฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ํ์ดํ๋ผ์ธ์ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ(OOM) ์์ธ๊ฐ ๋ฐ์ํ๋ฉด VM์ ๋ชจ๋ ํ์ฑ ํ์คํฌ๊ฐ ์คํจํ๊ณ ์ฌ์๋๋๋ฉฐ ๋ฐ๋ ๋ ํฐ ํ์๋ ์๋ฌด๊ฒ๋ ์ ์ก๋์ง ์์ต๋๋ค. - ๊ฒฐํฉ ๋๋ ๊ธฐํ ์ง๊ณ. ํ์ดํ๋ผ์ธ์์ ๋ชจ๋ ์ ๋ ฅ ์์๊ฐ ๊ฒฐ๊ณผ์ ์ผ๋ถ๋ก ์กด์ฌํ๊ณ ์ฒ๋ฆฌ๋์ด์ผ ํ๋ ๊ณ์ฐ์ ์คํํ๋ ๊ฒฝ์ฐ ์ด ๋จ๊ณ ์ ์ ๋ฐ๋ ๋ ํฐ ํ๋ฅผ ์ฌ์ฉํ ๋ ์ฃผ์ํด์ผ ํฉ๋๋ค. ๋ฐ๋ ๋ ํฐ ํ๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๋ ฅ ๋ฐ์ดํฐ ์ผ๋ถ๊ฐ ๊ฒฐ๊ณผ์์ ์ ์ธ๋ฉ๋๋ค. ๋ฐ๋ ๋ ํฐ ํ๋ฅผ ์ถ๊ฐํ๋ฉด ๋ด๊ฒฐํจ์ฑ์ ์ป๋ ๋์ ์ ํ์ฑ์ด ์ ํ๋ ์ ์์ต๋๋ค.
- ๋ฐ๋ ๋ ํฐ ํ ๊ฒฝ๋ก์์ ์คํจ. ์์๊ฐ ๋ฐ๋ ๋ ํฐ ํ ์ฑํฌ๋ก ์ ์ก๋๋ ๋์์ ์คํจํ๋ฉด ์ ์ฒด ํ์ดํ๋ผ์ธ์ด ์คํจํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์คํจ๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ๋ฐ๋ ๋ ํฐ ํ ๋ก์ง์ ์ต๋ํ ๊ธฐ๋ณธ์ ์ผ๋ก ์ ์งํฉ๋๋ค. ๋๊ธฐ ๋จ๊ณ(
wait class
์ฐธ์กฐ)๋ฅผ ์ถ๊ฐํ์ฌ ๋ฐ๋ ๋ ํฐ ํ ์์๋ฅผ ์ฐ๊ธฐ ์ ์ ๊ธฐ๋ณธ ์ ๋ ฅ์ด ์๋ฃ๋๋๋ก ํ ์ ์์ต๋๋ค. ์ด ๊ตฌ์ฑ์ ์ฑ๋ฅ์ ์ ํ์ํค๊ณ ํ์ดํ๋ผ์ธ์ ์ค๋ฅ ์ ํธ๋ฅผ ์ง์ฐ์ํฌ ์ ์์ต๋๋ค. - ๋ถ๋ถ์ ์ผ๋ก ๋ณํ๋ ์์. ํ์ดํ๋ผ์ธ ์ค๊ฐ์ ๋ฐ๋ ๋ ํฐ ํ๋ฅผ ์ฝ์ ํ๋ฉด ๋ฐ๋ ๋ ํฐ ํ๊ฐ ๋ถ๋ถ์ ์ผ๋ก ๋ณํ๋ ์์๋ฅผ ์ถ๋ ฅํ๊ณ ์๋ ์์์ ์ก์ธ์คํ์ง ๋ชปํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ ์์๋ฅผ ์ ๋ฆฌํ๊ณ ์์์ ๋ํด ํ์ดํ๋ผ์ธ์ ๋ค์ ์คํํ ์ ์์ต๋๋ค. ๋์ ๋ฐ๋ ๋ ํฐ ํ์ ์ถ๋ ฅ์ ์๋ ์์์ ์ํธ ์ฐ๊ฒฐํ๋ ๋ค๋ฅธ ๋ก์ง์ ์ ์ฉํ๊ฑฐ๋ ๋ถ๋ถ์ ์ผ๋ก ๋ณํ๋ ์์๋ฅผ ํด์ํ๊ณ ์ฒ๋ฆฌํด์ผ ํ ์ ์์ต๋๋ค. ๋ํ ์ผ๊ด๋์ง ์์ ๊ฒฐ๊ณผ๊ฐ ๋ฐ์ํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ์์๊ฐ ํ์ดํ๋ผ์ธ์ ๋ ๋ธ๋์น๋ฅผ ํตํด ์ ์ก๋๊ณ ๊ฐ ๋ธ๋์น์์ ์์ธ๋ฅผ ๋ฐ์์ํค๋ ์์๋ฅผ ๋ฐ๋ ๋ ํฐ ํ๋ก ๋ณด๋ด๋ ๊ฒฝ์ฐ ๋จ์ผ ์ ๋ ฅ ์์๊ฐ ํ ๋ธ๋์น, ๋ค๋ฅธ ๋ธ๋์น, ๋ ๋ธ๋์น ๋ชจ๋๋ฅผ ํตํด ์ ์ก๋๊ฑฐ๋ ์ด๋ ๋ธ๋์น๋ฅผ ํตํด์๋ ์ ์ก๋์ง ์์ ์ ์์ต๋๋ค.
๋น์ฉ์ด ๋ง์ด ๋๋ ๋ ์ฝ๋์ ์ ํ ์๊ฐ ์ ์ฉ
๋น์ฉ์ด ๋ ๋ง์ด ๋ค๊ฑฐ๋ ๊ต์ฐฉ ์ํ์ ๊ฐ์ด ๋ฌด์๋ต์ ์์ธ์ด ๋๋ ์ ํ์ ๋๋ฌํ ์์์ ์์ ํ์ ์งํฉ์ ์ฒ๋ฆฌํ๋ ๋์ ํ์ดํ๋ผ์ธ์์ ์๋ต์ ์ค์งํ ์ ์์ต๋๋ค. ์ด ๋ฌธ์ ๋ฅผ ์ํํ๊ธฐ ์ํด ์ผ๋ถ ๋ณํ์์๋ ์ ํ ์๊ฐ์ ์ค์ ํ๊ณ ์ด ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ฌ์ฉ์ ์ฝ๋ DoFn
์์ ํ์์์๋ ์์๋ฅผ ์คํจํ๋๋ก ํ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด Python์ with_exception_handling
๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ฐ๋ ๋ ํฐ ํ์ ์ ํ ์๊ฐ์ ํจ๊ป ์ฌ์ฉํ๋ฉด ํ์ดํ๋ผ์ธ์์ ์ ์ ์์๋ฅผ ๊ณ์ ์ฒ๋ฆฌํ๊ณ ์งํํ ์ ์์ผ๋ฉฐ ๊ฐ๋ฐ์๊ฐ ๋น์ฉ์ด ๋ง์ด ๋๋ ์์๋ฅผ ๋ณ๋๋ก ๋ค์ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ์ด ๊ตฌ์ฑ์ผ๋ก ์ธํด ์ฑ๋ฅ ๋น์ฉ์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์ ํ ์๊ฐ์ด ํ์ํ DoFn
์์
์ ํ์ธํ๋ ค๋ฉด ์ ์ฒด ํ์ดํ๋ผ์ธ์ ์คํํ๊ธฐ ์ ์ ์๊ท๋ชจ ์คํ์ ์คํํฉ๋๋ค.
์์ง ์๋ ํ์ฅ ์ฌ์ฉ ์ค์
์์ ์ ํ์ํ ๋ฉ๋ชจ๋ฆฌ ์์ ์ ๋ชจ๋ฅด๊ฑฐ๋ ์์ ์ด ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ์ํ์ ๋ ธ์ถ๋๋ค๊ณ ์๊ฐ๋๋ฉด ์์ง ์๋ ํ์ฅ์ ์ฌ์ฉ ์ค์ ํฉ๋๋ค. ์ด ๊ธฐ๋ฅ์ ํ์ดํ๋ผ์ธ์ด ๋๊ท๋ชจ๋ก ์คํ๋๊ฑฐ๋ ๋งค์ฐ ํฐ ์์๊ฐ ์์ ๋ OOM ์คํจ๋ฅผ ๋ฐฉ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
์์ง ์๋ ํ์ฅ์ ์์ ๋น์ฉ์ ๋๋ฆด ์ ์์ผ๋ฉฐ ๋ชจ๋ ๋ฉ๋ชจ๋ฆฌ ๋ถ์กฑ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ ์ ์์ผ๋ฏ๋ก ๊ฐ๋ฐ์๊ฐ ๊ณผ๋ํ ๋ฉ๋ชจ๋ฆฌ ์ฌ์ฉ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค. ์์ง ์๋ ํ์ฅ์ ์ฌ์ฉํ๋ ค๋ฉด Dataflow Prime๋ ํ์ํ๋ฉฐ ์ฌ๊ธฐ์๋ ์ถ๊ฐ ์ ํ์ฌํญ๊ณผ ๋ค๋ฅธ ๊ฒฐ์ ๋ชจ๋ธ์ด ์ ์ฉ๋ฉ๋๋ค.
์ค๋ฅ๊ฐ ๋ฐ์ํ๊ธฐ ์ฌ์ด ํ์ดํ๋ผ์ธ ํด๊ฒฐ ๋ฐฉ๋ฒ
์ผ๋ถ ํ์ดํ๋ผ์ธ์์ ์ค๋ฅ๊ฐ ํนํ ๋ฐ์ํ๊ธฐ ์ฝ์ต๋๋ค. ์ด๋ฌํ ์ค๋ฅ์ ๊ทผ๋ณธ ์์ธ์ ํด๊ฒฐํ๋ ๊ฒ์ด ๊ฐ์ฅ ์ข์ง๋ง ์คํจ๋ก ์ธํ ๋น์ฉ์ ์ค์ด๋ ค๋ฉด ๋ค์ ์ต์ ์ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
์ค๊ฐ ๊ฒฐ๊ณผ ๊ตฌ์ฒดํ
ํ์ดํ๋ผ์ธ์๋ ํ์ดํ๋ผ์ธ ์คํ ์๊ฐ์ ์ข์ฐํ๋ ํนํ ๋น์ฉ์ด ๋ง์ด ๋๋ ๋ณํ์ด ํ๋ ์ด์ ์์ ์ ์์ต๋๋ค. ์ด ๋ณํ ํ์ ํ์ดํ๋ผ์ธ์ด ์คํจํ๋ฉด ์ด๋ฏธ ์๋ฃ๋ ๋ชจ๋ ์์
์ด ์์ค๋๋ฏ๋ก ํนํ ์ํํ ์ ์์ต๋๋ค. ์ด ์๋๋ฆฌ์ค๋ฅผ ๋ฐฉ์งํ๋ ค๋ฉด ๋น์ฉ์ด ๋ง์ด ๋๋ ๋จ๊ณ์์ ์์ฑ๋ ์ค๊ฐ PCollections
๋ฅผ Cloud Storage์ ๊ฐ์ ์ฑํฌ์ ์ฐ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด ๊ตฌ์ฑ์ ์คํจ ๋น์ฉ์ ์ค์
๋๋ค. ์ด๋ฌํ ์ด์ ๊ณผ ์ถ๊ฐ ์ฐ๊ธฐ ์ํ ๋น์ฉ์ ๋น๊ตํด์ผ ํฉ๋๋ค. ๋ค์ ๋ฐฉ๋ฒ ์ค ํ๋๋ก ์ด ๊ตฌ์ฒดํ๋ ๊ฒฐ๊ณผ๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
- ์๋ ํ์ดํ๋ผ์ธ์ ์ค๊ฐ ๊ฒฐ๊ณผ๋ฅผ ์ฐ๋ ํ์ดํ๋ผ์ธ ํ๋์ ์ฝ๋ ํ์ดํ๋ผ์ธ ํ๋ ๋ฑ ์ด 2๊ฐ๋ก ๋ถํ ํฉ๋๋ค.
- ํ์ดํ๋ผ์ธ์ด ์คํจํ ๊ฒฝ์ฐ์๋ง ์๋ ์์ค์ ๊ตฌ์ฒดํ๋ ์ค๊ฐ ๋ชจ์ ๋ชจ๋์์ ๊ฒฐ๊ณผ๋ฅผ ์ฝ๊ณ ํ๋ฉดํํฉ๋๋ค.
์ด๋ฌํ ๊ตฌ์ฒดํ๊ฐ ์ถ๊ฐ ์ฒ๋ฆฌ ์ ์ ์์ฑ๋๊ฒ ํ๋ ค๋ฉด ํ์ ์ฒ๋ฆฌ ๋จ๊ณ ์ ์ ๋๊ธฐ ๋จ๊ณ(wait class
์ฐธ์กฐ)๋ฅผ ์ถ๊ฐํฉ๋๋ค.