Scheduler

Scheduler

Scheduler ํŒจ๋„์„ ํด๋ฆญํ•˜๋ฉด ํ•˜๋‹จ ํŒจ๋„์ด ํ™•์žฅ๋œ๋‹ค. Scheduler ํŒจ๋„์˜ [๋”๋ณด๊ธฐ+] ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ž…๋ ฅ๊ฐ€๋Šฅํ•œ ์ „์ฒด ํ•ญ๋ชฉ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

  1. enable : enable ํ•ญ๋ชฉ์— ์ฒดํฌํ•  ๊ฒฝ์šฐ scheduler ํŒจ๋„์—์„œ ์„ค์ •ํ•œ ์‚ฌํ•ญ์— ๋งž๊ฒŒ ์›Œํฌํ”Œ๋กœ์šฐ job์„ ์‹คํ–‰ํ•œ๋‹ค.

  2. timezone : timezone ์„ค์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ธฐ๋ณธ๊ฐ’์€ kst ์ด๋‹ค.

  3. start : ์‹œ์ž‘ ์ผ์‹œ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค(์‹œ์ž‘ ์ผ์‹œ๋Š” ํ˜„์žฌ ์ผ์‹œ ๋ณด๋‹ค ์ดํ›„๋กœ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค).

  4. end : ์ข…๋ฃŒ ์ผ์‹œ๋ฅผ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

  5. frequency : Time Interval ๊ธฐ๋ฐ˜์œผ๋กœ ์›Œํฌํ”Œ๋กœ์šฐ job์„ ์‹คํ–‰ํ•œ๋‹ค. Basic, Cron ๋“ฑ ๋‘ ๊ฐ€์ง€ InputType์„ ์ œ๊ณตํ•œ๋‹ค.

    • InputType์„ Basic์œผ๋กœ ์„ ํƒํ•  ๊ฒฝ์šฐ frequencyNumber์— ์‹คํ–‰์ฃผ๊ธฐ(์ˆซ์ž๊ฐ’), frequencyUnit์— minutes, hours, days, months ์ค‘ ์„ ํƒ ํ•˜์—ฌ ์ฃผ๊ธฐ๋ฅผ ์„ค์ • ํ•  ์ˆ˜ ์žˆ๋‹ค. frequencyUnit์„ minutes๋กœ frequencyNumber๋ฅผ 5๋กœ ์ž…๋ ฅํ•  ๊ฒฝ์šฐ 5๋ถ„ ์ฃผ๊ธฐ๋กœ ์›Œํฌํ”Œ๋กœ์šฐ job์„ ์‹คํ–‰ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค. ์›Œํฌํ”Œ๋กœ์šฐ ์‹คํ–‰์˜ ์ตœ์†Œ์ฃผ๊ธฐ๋Š” 5๋ถ„์œผ๋กœ ๊ทธ ์ดํ•˜๋กœ ์„ค์ •ํ•  ์ˆ˜ ์—†๋‹ค.
    • InputType์ด Cron์ด๋ฉด Unix Crontab ์Šคํƒ€์ผ๋กœ ์Šค์ผ€์ค„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ‰์ผ 10๋ถ„ ๋งˆ๋‹ค ์›Œํฌํ”Œ๋กœ์šฐ๊ฐ€ ์‹คํ–‰๋œ๋‹ค๋ฉด [0/10 ? 1-5 *]๊ณผ ๊ฐ™์ด ์ž…๋ ฅํ•œ๋‹ค.
  6. controls : timeout, concurrency, throttle, execution ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

    • timeout : ํƒ€์ž„์•„์›ƒ ์‹œ๊ฐ„์„ ์„ค์ •ํ•œ๋‹ค. default๋Š” -1์ด๋‹ค.
    timeout์„ค๋ช…
    -1timeout ๋ฏธ์„ค์ •. ์ฆ‰ ์›Œํฌํ”Œ๋กœ์šฐ ์ž‘์—…์ด ๊ฐ€๋Šฅํ•  ๋•Œ๊นŒ์ง€ ๋ฌดํ•œ์ • ๋Œ€๊ธฐํ•จ
    0workflow๊ฐ€ ์ •์ƒ์ ์ด์ง€ ์•Š์„ ๊ฒฝ์šฐ ์ฆ‰์‹œ ์ข…๋ฃŒํ•จ
    • concurrency : ๋™์‹œ์— ์‹คํ–‰(running)์‹œํ‚ค๋Š” ์ž‘์—… ์ˆ˜
    • throttle : ํŠน์ • ์‹œ์ ์— ์‹คํ–‰ ๋Œ€๊ธฐ(waiting) ์ค‘์ธ ์ž‘์—… ์ˆ˜
    • execution : ์ธ์Šคํ„ด์Šค๋“ค์˜ ์‹คํ–‰ ๊ทœ์น™์„ ์„ค์ •
    execution์„ค๋ช…
    FIFO์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰
    LIFO๊ฐ€์žฅ ๋‚˜์ค‘์— ๋“ค์–ด์˜จ ๊ฒƒ๋ถ€ํ„ฐ ์‹คํ–‰
    ONLYLAST๋งˆ์ง€๋ง‰ ์ž‘์—…๋งŒ ์‹คํ–‰ํ•˜๊ณ  ๋‚˜๋จธ์ง€ ์ž‘์—…์€ ์‹คํ–‰ํ•˜์ง€ ์•Š์Œ
  7. datasets : ๋ฏธ๋ฆฌ ์ž‘์„ฑํ•ด๋‘” dataset์„ ๋ถˆ๋Ÿฌ์™€์„œ ํŒŒ์ผ์ด ์กด์žฌํ•˜๊ฑฐ๋‚˜ ๋””๋ ‰ํ† ๋ฆฌ ๋„ค์ด๋ฐ ๊ทœ์น™ ๋“ฑ์œผ๋กœ ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ์Šค์ผ€์ค„์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

    โ€ข inputEvents

    • name: input-dataset ์ด๋ฆ„
    • uriTemplate: dataset์ด ์œ„์น˜ํ•œ HDFS ๊ฒฝ๋กœ
    • frequency: ์ˆ˜ํ–‰ ์ฃผ๊ธฐ (minutes, hours, days, months ์ค‘ ํƒ1)
    • initialInstance: ์ฒซ๋ฒˆ์งธ ์ธ์Šคํ„ด์Šค ์‹œ์  (ํ•ด๋‹น ์‹œ์  ์ด์ „์— ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค๋Š” ๋ฌด์‹œ)
    • timezone: timezone ์ •๋ณด
    • doneFlag: ํ•„๋“œ๋ฅผ ํ†ตํ•ด์„œ ์ฝ”๋””๋„ค์ดํ„ฐ๊ฐ€ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์…‹์ด ์ฒ˜๋ฆฌํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋Š”์ง€๋ฅผ ์•Œ๋ ค์คŒ(_SUCCESS, DIRECTORY ์ค‘ ํƒ1)

    โ€ข outputEvents

    • name: output-dataset ์ด๋ฆ„
    • uriTemplate: dataset์ด ์œ„์น˜ํ•œ HDFS ๊ฒฝ๋กœ
    • frequency: ์ˆ˜ํ–‰ ์ฃผ๊ธฐ (minutes, hours, days, months ์ค‘ ํƒ1)
    • initialInstance: ์ฒซ๋ฒˆ์งธ ์ธ์Šคํ„ด์Šค ์‹œ์  (ํ•ด๋‹น ์‹œ์  ์ด์ „์— ์ƒ์„ฑ๋œ ์ธ์Šคํ„ด์Šค๋Š” ๋ฌด์‹œ)
    • timezone: timezone ์ •๋ณด
    • doneFlag: ํ•„๋“œ๋ฅผ ํ†ตํ•ด์„œ ์ฝ”๋””๋„ค์ดํ„ฐ๊ฐ€ ํ•ด๋‹น ๋ฐ์ดํ„ฐ์…‹์ด ์ฒ˜๋ฆฌํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ๋Š”์ง€๋ฅผ ์•Œ๋ ค์คŒ(_SUCCESS, DIRECTORY ์ค‘ ํƒ1)