subWorkflow

Definition

๋‹ค๋ฅธ ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ํ•˜๋‚˜์˜ Node๋กœ ์‹คํ–‰ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ชฉ๋ก ์—ด๊ธฐ๋ฅผ ๋ˆ„๋ฅด๋ฉด ๋ชฉ๋ก์ด ํŒ์—… ๋˜๊ณ  ์ด์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•˜๋ฉด ์›Œํฌํ”Œ๋กœ์šฐ ๋ฒˆํ˜ธ๊ฐ€ ์ž…๋ ฅ ๋ฉ๋‹ˆ๋‹ค. ์ขŒ์ธก [Flow๊ตฌ์„ฑ]๋…ธ๋“œ ์ค‘ [subWorkflow]๋…ธ๋“œ๋ฅผ drag & drop ํ•œ ํ›„ Property ํ•ญ๋ชฉ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค. Property ํŒจ๋„์˜ [๋”๋ณด๊ธฐ+] ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ž…๋ ฅ๊ฐ€๋Šฅํ•œ ์ „์ฒด Property ํ•ญ๋ชฉ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Set

[setting], [scheduler], [parameter] ์„ค์ •์€ [์›Œํฌํ”Œ๋กœ์šฐ] > [์ƒ์„ฑ] > [๊ธฐ๋ณธ๊ตฌ์„ฑ]์„ ์ฐธ๊ณ ํ•ฉ๋‹ˆ๋‹ค.

property

[Node Description] ์ž‘์„ฑ ์ค‘์ธ ๋…ธ๋“œ๋ช… ์ž…๋ ฅ

subworkflow01

  1. propagateConfiguration : subWorkflow ์„ค์ • ์ „๋‹ฌ ์—ฌ๋ถ€ ์„ ํƒ
  2. appPath : "๋ชฉ๋ก์—ด๊ธฐ" ๋ฒ„ํŠผ ํด๋ฆญํ•˜์—ฌ ์˜คํ”ˆํ•œ Subworkflow ๋ชฉ๋ก์ฐฝ์—์„œ ๋Œ€์ƒ ์›Œํฌํ”Œ๋กœ์šฐ ์„ ํƒ (์„ ํƒํ•œ ์›Œํฌํ”Œ๋กœ์šฐ์— ๋Œ€ํ•ด์„œ "subWorkflow ํŽธ์ง‘ ๋ฐ”๋กœ๊ฐ€๊ธฐ" ๋ฒ„ํŠผ์„ ํด๋ฆญํ•˜๋ฉด ํ•ด๋‹น ์›Œํฌํ”Œ๋กœ์šฐ๋ฅผ ์ƒˆ์ฐฝ์œผ๋กœ ์˜คํ”ˆ ๊ฐ€๋Šฅ)
  3. workflowId : 2.appPath ์—์„œ ์„ ํƒํ•œ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ID
  4. workflowName : 2.appPath ์—์„œ ์„ ํƒํ•œ ์›Œํฌํ”Œ๋กœ์šฐ์˜ ์ด๋ฆ„
  5. configuration : key-value๋กœ ์„ค์ •
  6. forceOK : ์‹คํŒจ ์‹œ ๊ฐ•์ œ OK ์ฒ˜๋ฆฌ ์—ฌ๋ถ€

Example

executeHive(create table as select ์ฟผ๋ฆฌ ์‹คํ–‰)๋…ธ๋“œ๊ฐ€ ์‹คํ–‰๋˜๋Š” ์›Œํฌํ”Œ๋กœ์šฐ(G1378)๋ฅผ subWorkflow๋กœ ์„ค์ • ํ›„ ์‹คํ–‰ ๋ฐ ๊ฒฐ๊ณผ๊นŒ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

  1. [executeHive] workflow ์ƒ์„ฑ
    ```
    create table air_pollution_subworkflow_test
    as select * from air_pollution limit 10
    ```
    subworkflow02
  2. ์ž‘์„ฑํ•œ ์›Œํฌํ”Œ๋กœ์šฐ ๋“ฑ๋ก
    subworkflow03
  3. subworkflow ์‹คํ–‰๊ฒฐ๊ณผ executeHive๋…ธ๋“œ์— ์„ค์ •ํ•œ ์ฟผ๋ฆฌ ์ •์ƒ ์‹คํ–‰ ํ™•์ธ
    subworkflow04