Pipeline
Pipeline ๊ฐ์
Pipeline ์๊ฐ ๋ฐ ์ฃผ์๊ธฐ๋ฅ
Pipeline์ ๋ถ์๋์ ๋ฐ์ดํฐ์ ์์ง/์ ์ฒ๋ฆฌ/์ ์ฅ(Data Pipeline)๊ณผ ์ ์ฒ๋ฆฌ๊ณผ์ ์ ํตํด ์ ์ ๋ ๋ฐ์ดํฐ๋ก ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๊ฐ๋ฐ/ํ์ต(Machine Learning Pipeline)ํ ์ ์๋๋ก ์ง์ํด์ฃผ๋ GUI ๊ธฐ๋ฐ ์๋ฃจ์ ์ ๋๋ค. UI/UX ๊ธฐ๋ฐ ๋ค์ํ ๋ฐ์ดํฐ ํธ์ง๊ธฐ๋ฅ์ Designerํ๋ฉด์ Drag & Dropํ์ฌ Workflow๋ฅผ ์์ฝ๊ฒ ์ค๊ณํ ์ ์๊ณ , ์ด๋ ๊ฒ ์ค๊ณ๋ Batch Job์ ์คํ/์ ์ดํ ์ ์์ต๋๋ค.
๊ธฐ์กด ๋ฒ์ ์ Batch Pipeline(๋ฐ์ดํฐ์ ์ฒ๋ฆฌ)๊ณผ ML Modeler(๋จธ์ ๋ฌ๋)๋ฅผ ํตํฉํ์ฌ Spark MLlib๊ธฐ๋ฐ ๋จธ์ ๋ฌ๋ ํ์ต์ ๋จ์ผ์์คํ ์์ ์ผ๊ด ์ํํ ์ ์๋๋ก ๊ฐ์ ํ์ต๋๋ค.
๋ํ, Pipeline์ ํจ๊ณผ์ ์ธ ๊ด๋ฆฌ๋ฅผ ์ํด Job ์ค์ผ์ค๋ง, ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ๊ณผ workflow ์คํ์ํ, ์ด๋ ฅ ๋ฑ์ ๋ฐ๋ก ํ์ธํ ์ ์๋๋ก ์ง๊ด์ ์ธ Dashboard๋ฅผ ์ ๊ณตํฉ๋๋ค.
Pipeline์์ ์ ๊ณตํ๋ ์ฃผ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. ์ปดํฌ๋ํธ ์ ๊ณต ๋ฐ ์ค์ผ์ค ๊ด๋ฆฌ
๋ค์ํ ํ๋ก ์์ฝ ์์ / ์์คํ ์์ ์ ์ปดํฌ๋ํธ ํํ๋ก ์ ๊ณตํ์ฌ ์์/์ข ๋ฃ์๊ฐ,์ค์ผ์ค ์ฃผ๊ธฐ ์ค์ ๋ฑ ํ๊ฒฝ์ค์ ๊ด๋ จ ์ ๋ฐ ์์ ์ ์์ฝ๊ฒ ํ ์ ์๋๋ก ์ง์
2. ๋ฐ์ดํฐ ์กฐํ ๋ฐ ๋ถ์ ์์ ์ง์
๋ฐ์ดํฐ Preview ๊ธฐ๋ฅ ๋ฑ์ ํ์ฉํ์ฌ ์ํฌํ๋ก์ฐ ์์ฑ๊ณผ์ ์์ ์ธํฐ๋ ํฐ๋ธํ๊ฒ ๋ฐ์ดํฐ ํ์ธ ๊ฐ๋ฅ. ๋ถ์๊ฐ์ ์์์ ์ ์ต์ํํ๊ณ ๋ถ์์งํ๋ฅผ ์๊ฐํํ๊ธฐ ์ํ ๋ค์ํ ์๊ณ ๋ฆฌ์ฆ ์ ๊ณต
3. ๋ณ์ ์ฒ๋ฆฌ ์ง์
์ผ๋ฐ/๋ ์ง ํ๋ผ๋ฏธํฐ, ๋ฐ์ดํฐ ์ ๋ฑ ๋ค์ํ ๋์ ๋ณ์ ์ง์ ๊ฐ๋ฅ
4. ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ๊ฐ๋ฐ ๋ฐ ์ ์ฉ
๊ธฐ์กด ML Modeler์์ ์ ๊ณตํ๋ Spark MLlib ๊ธฐ๋ฐ ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ๊ฐ๋ฐ ๋ฐ ์ ์ฉ๊ฐ๋ฅ. ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ํ ๋ถ์ฐ ๋ณ๋ ฌ ๋จธ์ ๋ฌ๋ ์ํ ๋ฐ ๋ถ์ ๋ชจ๋ธ ์์ฐํ๋ฅผ ํตํด ์ฌ์ฌ์ฉ ๊ฐ๋ฅ
5. ๋ชจ๋ํฐ๋ง ์ ๊ณต
๋ฐฐ์น ์ก(Job) ๋ณ ์ํ ๋ฐ ์คํ ์ ๋ณด๋ฅผ ์ง๊ด์ ์ธ UI๋ก ํ์ธ
6. ๋ค์ํ ๊ด๋ฆฌ ๋๊ตฌ
HDFS, Hive, S3 ๋ฑ์ ๋ค์ํ ๋ธ๋ผ์ฐ์ ์ ๊ด๋ฆฌ ๊ธฐ๋ฅ ์ ๊ณต
์ฐธ๊ณ
Pipeline์ ์ํฌํ๋ก ๋ฐ ์ค์ผ์ค ์ฒ๋ฆฌ ์์ง์ธ Apache Oozie(Workflow Scheduler for Hadoop)๋ฅผ ์ฌ์ฉํ์์ผ๋ฏ๋ก Apache Oozie์ ๋ํ ๊ธฐ๋ณธ ์ง์์ด ์์ผ๋ฉด ์๋ฃจ์ ํ์ฉ์ ๋ง์ ๋์์ด ๋ฉ๋๋ค. Apache Oozie์ ๋ํ ์์ธ์ ๋ณด๋ ์๋์ ๊ฒฝ๋ก์์ ํ์ธํ ์ ์์ต๋๋ค.