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์— ๋Œ€ํ•œ ์ƒ์„ธ์ •๋ณด๋Š” ์•„๋ž˜์˜ ๊ฒฝ๋กœ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

http://oozie.apache.org/

http://oozie.apache.org/docs/4.2.0/index.html