hive

Definition

hive ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๋…ธ๋“œ๋กœ, ์ง์ ‘ ์ž…๋ ฅ ๋ฐฉ์‹๊ณผ ์Šคํฌ๋ฆฝํŠธ ํŒŒ์ผ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ๋ฐฉ์‹์„ ์ง€์›ํ•œ๋‹ค. ์ขŒ์ธก [Flow๊ตฌ์„ฑ]๋…ธ๋“œ ์ค‘ [hive]๋…ธ๋“œ๋ฅผ drag & drop ํ•œ ํ›„ Property ํ•ญ๋ชฉ์„ ์ž…๋ ฅํ•œ๋‹ค. Property ํŒจ๋„์˜ [๋”๋ณด๊ธฐ+] ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ž…๋ ฅ๊ฐ€๋Šฅํ•œ ์ „์ฒด Property ํ•ญ๋ชฉ์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

Set

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

property

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

flow010

  1. prepare : ๋…ธ๋“œ ์‹คํ–‰ ๊ฒฐ๊ณผ๋ฅผ HDFS์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ํŒŒ์ผ์‚ญ์ œ/ํด๋”์ƒ์„ฑ ์ž‘์—… ์„  ์ˆ˜ํ–‰(์›Œํฌํ”Œ๋กœ์šฐ ๋ฐ˜๋ณต์‹คํ–‰ ์‹œ ํ™œ์šฉ๊ฐ€๋Šฅ)
    • delete : ๋…ธ๋“œ ์‹คํ–‰ ์ „ ์‚ญ์ œํ•  ํด๋”/ํŒŒ์ผ ๊ฒฝ๋กœ
    • mkdir : ๋…ธ๋“œ ์‹คํ–‰ ์ „ ์ƒ์„ฑํ•  ํด๋” ๊ฒฝ๋กœ
  2. file : ๋…ธ๋“œ์—์„œ ์‚ฌ์šฉํ•  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ฒฝ๋กœ๋ฅผ ์„ค์ •
  3. archivce : archive๊ฒฝ๋กœ๋ฅผ ์„ค์ •
  4. retry : ์žฌ์ˆ˜ํ–‰ ํšŸ์ˆ˜ ๋ฐ ๊ฐ„๊ฒฉ
    • max : ์žฌ์ˆ˜ํ–‰ ํšŸ ์ˆ˜
    • period : ์žฌ์ˆ˜ํ–‰ ๊ฐ„๊ฒฉ
  5. jobXml : jobxml์ž…๋ ฅ
  6. configuration : ์‹คํ–‰์— ์‚ฌ์šฉํ•  ์†์„ฑ (key, value) ์ž…๋ ฅ
  7. hiveExecute (inputType : query, script ์ค‘ ํƒ1)
    • query: query ์ž…๋ ฅ (query editor ์‚ฌ์šฉ๊ฐ€๋Šฅ)
    • script: scriptFile ๊ฒฝ๋กœ ์„ ํƒ
  8. param : ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค์ •
  9. argument : ์ธ์ˆ˜ ์„ค์ •
  10. forceOK : ์‹คํŒจ ์‹œ ๊ฐ•์ œ OK ์ฒ˜๋ฆฌ ์—ฌ๋ถ€

Oozie์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์œผ๋กœ JDBC๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์›๊ฒฉ์— ์žˆ๋Š” Hive ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๋ช…๋ น์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” [executeHive]๋…ธ๋“œ๋ฅผ, Hive ํ…Œ์ด๋ธ”์„ HDFS๋กœ ๊ฐ€์ ธ์˜ค๋Š” ๊ธฐ๋Šฅ์€ [hivetohdfs]๋…ธ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

Example 1. query ์ž…๋ ฅ

inputType์„ query๋กœ ์„ ํƒํ•  ๊ฒฝ์šฐ ํ•˜๋‹จ queryContent ๋ฐ•์Šค์— ์ง์ ‘ sql์„ ์ž…๋ ฅํ•œ๋‹ค. ์ฟผ๋ฆฌ๋‚ด์šฉ์ด ๊ธธ ๊ฒฝ์šฐ ์šฐ์ธก [Query Editor]์ฐฝ ํด๋ฆญ์‹œ ํŒ์—…๋œ ์—๋””ํ„ฐ์—์„œ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋‹ค.

[fork]๋…ธ๋“œ example ์ž‘์„ฑ์‹œ ์‚ฌ์šฉํ•œ "์„œ์šธํŠน๋ณ„์‹œ ๋Œ€๊ธฐ์˜ค์—ผ ์ธก์ •์ •๋ณด" ๋ฐ์ดํ„ฐ(air_pollution)์ค‘ ์ข…๋กœ๊ตฌ ์†Œ์žฌ์ง€ ๊ด€์ธก์†Œ์—์„œ ์ธก์ •ํ•œ ๋ฐ์ดํ„ฐ๋งŒ ์ถ”์ถœํ•ด์„œ ์ƒˆ๋กœ์šด ํ…Œ์ด๋ธ” "air_pollution_jongno"ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ ๋‹ค. ํ…Œ์ด๋ธ” ์ƒ์„ฑ์‹œ ์‚ฌ์šฉํ•  query๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

create table air_pollution_jongno
as select * from air_pollution
where station_cd = '101' -- ์ข…๋กœ๊ตฌ(์ข…๋กœ๊ตฌ ์ข…๋กœ35๊ฐ€๊ธธ 19) ์†Œ์žฌ ๊ด€์ธก์†Œ ์ฝ”๋“œ

flow052

Example 2. script ํ™œ์šฉ

์ž‘์—…ํ•ด์•ผ ํ•  ์ฟผ๋ฆฌ๊ฐ€ ๋งŽ์„ ๊ฒฝ์šฐ hql ๋“ฑ์„ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. inputType์„ script๋กœ ์„ ํƒํ•œ ๋‹ค์Œ ์‚ฌ์ „์— ์ค€๋น„๋œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์„ ํƒํ•œ๋‹ค.

[Note] ์œ ์˜์‚ฌํ•ญ
์‹คํ–‰ํ•  ์Šคํฌ๋ฆฝํŠธ๋ฅผ hdfs์— ๋จผ์ € ์ €์žฅํ•ด์•ผ ํ•œ๋‹ค. HDFS ๋ธŒ๋ผ์šฐ์ € ๋˜๋Š” ํ„ฐ๋ฏธ๋„์—์„œ hadoop fs -put ๋“ฑ์˜ ๋ช…๋ น์–ด๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์‚ฌ์ „์— ๋“ฑ๋กํ•œ๋‹ค.