hive_hiveql

HiveQL : ์ฟผ๋ฆฌ

  • image

    • https://cwiki.apache.org/confluence/display/hive/design

  • SELECT ... FROM ์ ˆ

    • SQL์—์„œ SELECT ํ”„๋กœ์ ์…˜(projection) ์—ฐ์‚ฐ์ž. FROM ์ ˆ์€ ๋ ˆ์ฝ”๋“œ๋ฅผ ์„ ํƒํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ํ…Œ์ด๋ธ”. ๋ทฐ ๋˜๋Š” ์ค‘์ฒฉ ์ฟผ๋ฆฌ(nested query)๋ฅผ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

    • ์ปฌ๋ ‰์…˜ ๋ฐ์ดํ„ฐํ˜•์˜ ์ปฌ๋Ÿผ์„ ์„ ํƒํ•˜๋ฉด ํ•˜์ด๋ธŒ๋Š” ์ถœ๋ ฅ์„ ์œ„ํ•ด JSON(Java Script Object Notation)๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    • ARRAY ๋ฐ์ดํ„ฐํ˜•์€ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋ชฉ๋ก์ด [...]๋กœ ๋‘˜๋ ค์‹ธ์—ฌ ์žˆ์Šต๋‹ˆ๋‹ค.

    • MAP์˜ ๊ฒฝ์šฐ ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ํ‚ค:๊ฐ’ ์Œ์˜ ๋ชฉ๋ก์„ {...}๋กœ ๋‘˜๋Ÿฌ์‹ธ๋Š” JSON ํ‘œํ˜„์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

    • STRUCT๋กœ JSON ๋งต ํ˜•์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

  • ํ•˜์ด๋ธŒ๋Š” ์˜ค๋ฒ„ ํ”Œ๋กœ์šฐ๋‚˜ ์–ธ๋”ํ”Œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ ๋” ๋„“์€ ๋ฒ”์œ„์˜ ๋ฐ์ดํ„ฐํ˜•์ด ์กด์žฌํ•˜๋”๋ผ๋„ ๊ฒฐ๊ณผ๋ฅผ ์ž๋™์œผ๋กœ ๋ณ€ํ™˜ํ•˜์ง€ ์•Š๋Š” ์ž๋ฐ” ๋ฐ์ดํ„ฐํ˜• ๊ทœ์น™์„ ๋”ฐ๋ฆ„๋‹ˆ๋‹ค.

  • ๊ธฐํƒ€ ๋‚ด์žฅ ํ•จ์ˆ˜

    • parse_url(url,partname,key) : HOST, PATH, QUERY, REF,PROTOCOL, AUTHORITY, FILE, USERINFO, QUERY:. ์˜ต์…˜ ํ‚ค๋Š” ๋งˆ์ง€๋ง‰์— QUERY:๋ฅผ ์š”์ฒญํ•จ

    • find_in_set(s, ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ String) : ์‰ผํ‘œ๋กœ ๊ตฌ๋ถ„๋œ ๋ฌธ์ž์—ด์—์„œ s์˜ ์ƒ‰์ธ์„ ๋ฐ˜ํ™˜ํ•จ. ์ฐพ์ง€ ๋ชปํ•˜๋ฉด NULL์ด ๋ฐ˜ํ™˜๋จ

    • locate(substr,str,pos) : str์˜ post ์œ„์น˜๋กœ๋ถ€ํ„ฐ substr์ด ์žˆ๋Š” ์ƒ‰์ธ์„ ๋ฐ˜ํ™˜ํ•จ

    • instr(str,substr) : str์—์„œ substr์˜ ์ƒ‰์ธ์„ ๋ฐ˜ํ™˜ํ•จ

    • str_to_map(s,delim1,delim2) : delim1์„ ํ‚ค-๊ฐ’ ์Œ์˜ ๊ตฌ๋ถ„์ž๋กœ ์‚ฌ์šฉํ•˜๊ณ  delim2๋ฅผ ํ‚ค์™€ ๊ฐ’์˜ ๊ตฌ๋ถ„์ž๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด s๋ฅผ ํŒŒ์‹ฑํ•œ ํ›„ ๋งต์„ ์ƒ์„ฑํ•จ

    • sentences(s,lang,locale) : ๋ฌธ์ž์—ด s๋ฅผ ๋‹จ์–ด์˜ ๋ฐฐ์—ด๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์žฅ์˜ ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•จ

    • ngrams(array<array>, N, K, pf) : ํ…์ŠคํŠธ์—์„œ top-K n-gram์„ ๋ฐ˜ํ™˜ํ•จ. pf๋Š” ์ •๋ฐ€๋„

    • context_ngrams(array<array>,array, int K, int pf> : ngrams์™€ ๊ฐ™์ง€๋งŒ ์ถœ๋ ฅ ๋ฐฐ์—ด์—์„œ ๋‘ ๋ฒˆ์งธ ๋‹จ์–ด ๋ฐฐ์—ด๋กœ ์‹œ์ž‘ํ•˜๋Š” n-gram์„ ์ฐพ์Œ

    • in_file(s, filename) : filenmae ํŒŒ์ผ์—์„œ ๋ฌธ์ž์—ด s๊ฐ€ ๋‚˜ํƒ€๋‚˜๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•จ

  • WHERE ์ ˆ

    • WHERE ์ ˆ์—์„œ ์ปฌ๋Ÿผ ๋ณ„์นญ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ค‘์ฒฉ SELECT ๋ฌธ์€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • SELECT e.* FROM 
      (SELECT name, salary, deductions['Federal Taxes"] as ded,
      salary * (1 - deductions['Federal Taxes"]) as salary_minus_fed_taxes
      FROM employees) e
      WHERE round(e.salary_minus_fed_taxes) > 70000;
    • LIKE์™€ RLIKE

      • ํ•˜์ด๋ธŒ๋Š” LIKE ์ ˆ์„ ์ž๋ฐ” ์ •๊ทœํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” RLIKE์ ˆ๋กœ ํ™•์žฅํ•ฉ๋‹ˆ๋‹ค.

      • ๋งˆ์นจํ‘œ(.)๋Š” ์–ด๋–  ํ•œ ๋ฌธ์ž์™€ ์ผ์น˜ํ•˜๊ณ  ๋ณ„(*)์€ ์™ผ์ชฝ์— ์žˆ๋Š” ๊ฒƒ์ด 0๋ฒˆ์—์„œ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณต๋˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

      • (x|y) ํ‘œํ˜„์‹์€ x ํ˜น์€ y๊ฐ€ ์ผ์น˜ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

  • ์กฐ์ธ ๋ฌธ

    • ํ•˜์ด๋ธŒ๋Š” ๊ณ ์ „์ ์ธ SQL ์กฐ์ธ ๋ฌธ์„ ์ œ๊ณตํ•˜๋ฉฐ ๋™๋“ฑ ์กฐ์ธ(EQUAL-JOIN)๋งŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

    • ์กฐ์ธ ์ตœ์ ํ™”

      • ํ•˜์ด๋ธŒ๋Š” ์ฟผ๋ฆฌ์˜ ๋งˆ์ง€๋ง‰ ํ…Œ์ด๋ธ”์ด ๊ฐ€์žฅ ํฌ๋‹ค๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์„ ๋ฒ„ํผ๋งํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๊ณ  ๊ฐ ๋ ˆ์ฝ”๋“œ์— ๋Œ€ํ•ด์„œ ์กฐ์ธ์„ ์ˆ˜ํ–‰ํ•˜๋ฉด์„œ ๋งˆ์ง€๋ง‰ ํ…Œ์ด๋ธ”์„ ํ˜๋ ค๋ณด๋ƒ…๋‹ˆ๋‹ค. ์กฐ์ธ ์ฟผ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•  ๋•Œ๋Š” ๊ฐ€์žฅ ํฐ ํ…Œ์ด๋ธ”์ด ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์˜ค๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

      • ํ•˜์ด๋ธŒ๋Š” ์ฟผ๋ฆฌ ์ตœ์ ํ™”(optimizer)์ด๊ธฐ์— ์–ด๋–ค ํ…Œ์ด๋ธ”์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ํ˜๋ ค๋ณด๋‚ด์•ผ ํ•˜๋Š”์ง€ ์ง€์ •ํ•˜๋Š” ํžŒํŠธ(hint) ๋ฉ”์นด๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

        • SELECT /** STREAMTABLE(s) */ s.ymd, s.symbol, s.price_close, d.dividend
          FROM stocks s JOIN dividends d ON s.ymd = d.ymd AND s.symbol = d.symbol
          WHERE s.symbol = 'AAPL';
      • ์ค‘์ฒฉ SELECT ๋ฌธ

        • SELECT s.ymd, s.symbol, s.price_close, d.dividend FROM
          (SELECT * FROM stocks WHERE symbol = 'AAPL' AND exchange = 'NASDAQ') s
          LEFT OUTER JOIN
          (SELECT * FROM dividends WHERE symbol = 'AAPL' AND exchange = 'NASDAQ') d
          ON s.ymd = d.ymd;
      • ์ค‘์ฒฉ SELECT ๋ฌธ์€ ๋ฐ์ดํ„ฐ ์กฐ์ธ ์ „์— ํŒŒํ‹ฐ์…˜ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ํ‘ธ์‹œ๋‹ค์šด(push down)์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

        • ํ‘ธ์‹œ๋‹ค์šด์€ WHERE ์ ˆ์˜ ์ˆ ์–ด ์ค‘ ์ผ๋ถ€๋ฅผ ๋–ผ์–ด๋‚ด์–ด ๋ฏธ๋ฆฌ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๋ฆฌ์ง€์ฃผ์–ผ(residual)์€ ํ‘ธ์‹œ๋‹ค์šด ํ›„์— ๋‚จ์€ ์ˆ ์–ด๋ฅผ ์ผ์ปซ์Šต๋‹ˆ๋‹ค.

        • ํ•˜์ด๋ธŒ๋Š” ์กฐ์ธ์„ ์ˆ˜ํ–‰ํ•œ ํ›„์— WHERE ์ ˆ์„ ํ‰๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. WHERE ์ ˆ์€ NULL์ด ๋˜์ง€ ์•Š๋Š” ์ปฌ๋Ÿผ๊ฐ’์— ๋Œ€ํ•ด์„œ๋งŒ ํ•„ํ„ฐ๋ฅผ ์ ์šฉํ•˜๋Š” ์ˆ ์–ด๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ด๋ธŒ ๋ฌธ์„œ์™€๋Š” ๋‹ฌ๋ฆฌ ํŒŒํ‹ฐ์…˜ ํ•„ํ„ฐ๋Š” ์™ธ๋ถ€ ์กฐ์ธ์˜ ON ์ ˆ์—์„œ ๋™์ž‘ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    • ์™ผ์ชฝ ์„ธ๋ฏธ ์กฐ์ธ

      • ์™ผ์ชฝ ์„ธ๋ฏธ ์กฐ์ธ(LEFT SEMI-JOIN)์€ ์˜ค๋ฅธ์ชฝ ํ…Œ์ด๋ธ”์—์„œ ON์˜ ์ˆ ์–ด๋ฅผ ๋งŒ์กฑํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฐพ์„ ๊ฒฝ์šฐ ์™ผ์ชฝ ํ…Œ์ด๋ธ”์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉฐ ํ•˜์ด๋ธŒ๋Š” ์˜ค๋ฅธ์ชฝ ์„ธ๋ฏธ ์กฐ์ธ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    • ๋งต ์‚ฌ์ด๋“œ ์กฐ์ธ(Map-side Join)

      • ๋งŒ์•ฝ ํ•œ ํ…Œ์ด๋ธ”๋งŒ ๋นผ๊ณ  ๋ชจ๋‘ ์ž‘๋‹ค๋ฉด ์ž‘์€ ํ…Œ์ด๋ธ”์€ ๋ฉ”๋ชจ๋ฆฌ์— ์บ์‹œํ•˜๊ณ  ๊ฐ€์žฅ ํฐ ํ…Œ์ด๋ธ”์€ ๋งตํผ๋กœ ํ˜๋ ค๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ด๋ธŒ๋Š” ๋ฉ”๋ชจ๋ฆฌ์— ์บ์‹œํ•œ ์ž‘์€ ํ…Œ์ด๋ธ”๋กœ๋ถ€ํ„ฐ ์ผ์น˜ํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ์„ ์ฐพ์•„ ๋‚ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋งต์—์„œ ๋ชจ๋“  ์กฐ์ธ์„ ํ•  ์ˆ˜ ์žˆ์Œ. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ผ๋ฐ˜ ์กฐ์ธ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ํ•„์š”ํ•œ ๋ฆฌ๋“€์Šค ๋‹จ๊ณ„๋ฅผ ์ œ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

      • SELECT /*+ MAPJOIN(d) */ s.ymd, s.symbol, s.price_close, d.dividend 
        FROM stocks s JOIN dividends d ON s.ymd = d.ymd AND s.symbol = d.symbol
        WHERE s.symbol = 'AAPL'
      • ํ•˜์ด๋ธŒ๋Š” ์˜ค๋ฅธ์ชฝ ์™ธ๋ถ€ ์กฐ์ธ๊ณผ ์™„์ „ ์™ธ๋ถ€ ์กฐ์ธ์— ๋Œ€ํ•ด์„œ ์ตœ์ ํ™”๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ORDER BY์™€ SORT BY

    • image

      • https://sqlrelease.com/sort-by-order-by-distribute-by-and-cluster-by-in-hive

    • ํ•˜์ด๋ธŒ๋Š” ORDER BY ๋Œ€์‹  ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ ๋ฆฌ๋“€์„œ์— ์ •๋ ฌํ•˜๋Š” SORT BY๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฆฌ๋“€์Šค์˜ ์ถœ๋ ฅ์ด ์ •๋ ฌ๋˜๋„๋ก ์ง€์—ญ ์ •๋ ฌ(local ordering)์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

  • SORT BY์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” DISTRIBUTE BY

    • image

      • https://sqlrelease.com/sort-by-order-by-distribute-by-and-cluster-by-in-hive

    • DISTRIBUTE BY๋Š” ๋งต์˜ ์ถœ๋ ฅ์„ ๋ฆฌ๋“€์„œ๋กœ ์–ด๋–ป๊ฒŒ ๋‚˜๋ˆ„์–ด ๋ณด๋‚ด๋Š”์ง€๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

    • ๊ธฐ๋ณธ์ ์œผ๋กœ ๋งต๋ฆฌ๋“€์Šค๋Š” ๋งตํผ๊ฐ€ ์ถœ๋ ฅํ•˜๋Š” ํ‚ค์— ๋Œ€ํ•ด์„œ ํ•ด์‹œ๊ฐ’์„ ๊ณ„์‚ฐํ•˜๊ณ  ํ•ด์‹œ๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ํ‚ค-๊ฐ’ ์Œ์„ ๊ฐ€์šฉํ•œ ๋ฆฌ๋“€์„œ๋กœ ๊ท ๋“ฑํ•˜๊ฒŒ ๋ถ„์‚ฐํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    • ๋งตํผ์—์„œ ์ถœ๋ ฅํ•œ ํ‚ค-๊ฐ’ ์Œ์˜ ๊ฐ’์„ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฆฌ๋“€์„œ๋ฅผ ์„ ํƒํ•˜๋Š” ๊ฒƒ์€ ํŒŒํ‹ฐ์…”๋„ˆ์˜ ์—ญํ• 

    • SORT BY๋Š” ๋ฆฌ๋“€์„œ ์•ˆ์—์„œ ๋ฐ์ดํ„ฐ ์ •๋ ฌ์„ ์ œ์–ดํ•˜๋Š” ๋ฐ˜๋ฉด DISTRIBUTE BY๋Š” ๋ฆฌ๋“€์„œ๊ฐ€ ์ฒ˜๋ฆฌํ•  ๋กœ์šฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๋ฐ›๋Š”์ง€ ์ œ์–ดํ•œ๋‹ค๋Š” ์ ์—์„œ GROUP BY์ฒ˜๋Ÿผ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.

    • ํ•˜์ด๋ธŒ๋Š” SORT BY ์ ˆ ์ „์— DISTRIBUTE BY ์ ˆ์„ ์‚ฌ์šฉํ•  ๊ฒƒ์„ ์š”๊ตฌํ•˜๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.

    • SORT BY ์ ˆ์€ ์—ฌ๋Ÿฌ ๋ฆฌ๋“€์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ ฌํ•˜๋Š” ๋ฐ˜๋ฉด ORDER BY ์ ˆ์€ ๋‹จ์ผ ๋ฆฌ๋“€์„œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฅผ ํ•จ๊ป˜ ์ •๋ ฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ •๋ ฌํ•ด์•ผ ํ•  ๋•Œ ORDER BY ๋Œ€์‹  SORT BY๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋งŽ์€ ์ˆ˜์˜ ์ž…๋ ฅ์— ๋Œ€ํ•ด ORDER BY๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‹คํ–‰ํ•˜๋Š” ๋ฐ ๋งŽ์€ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค.

  • CLUSTER BY

    • image

      • https://sqlrelease.com/sort-by-order-by-distribute-by-and-cluster-by-in-hive

    • DISTRIBUTE BY ... SORT BY ๋˜๋Š” ๊ฐ„๋‹จํžˆ ์‚ฌ์šฉํ•˜๋Š” CLUSTER BY ์ ˆ์€ ์ถœ๋ ฅ ํŒŒ์ผ ๊ฐ„์— ์ „์ฒด ์ •๋ ฌ์„ ์ด๋ฃจ๋ฉด์„œ SORT BY์˜ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๋ฐ์ดํ„ฐ ํ‘œ๋ณธ์„ ๋งŒ๋“œ๋Š” ์ฟผ๋ฆฌ

    • ๋งค์šฐ ํฐ ๋ฐ์ดํ„ฐ์…‹์— ๋Œ€ํ•ด์„œ ์ „์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์–ด๋–ค ์ฟผ๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ๋‚˜์˜จ ๊ฒฐ๊ณผ๋ฅผ ๋Œ€ํ‘œ ํ‘œ๋ณธ์œผ๋กœ ํ•˜์—ฌ ์ž‘์—…ํ•˜๊ณ ์ž ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์ข…์ข… ์žˆ์Šต๋‹ˆ๋‹ค.

    • ํ•˜์ด๋ธŒ๋Š” ํ…Œ์ด๋ธ”์„ ๋ฒ„ํ‚ท์œผ๋กœ ๊ตฌ์„ฑํ•˜์—ฌ ํ‘œ๋ณธ์„ ๋งŒ๋“ ๋А ์ฟผ๋ฆฌ๋กœ ์ด๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

    • ๋ฒ„ํ‚ท ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ž…๋ ฅ ํ‘ธ๋ฃจ๋‹

      • pruning(ํ‘ธ๋ฃจ๋‹)์€ ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ž‘์—…์— ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ ์ž˜๋ผ๋‚ด๋Š” ์ž‘์—…์„ ๋งํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์ง€์น˜๊ธฐ, ์ถ”๋ฆฌ๊ธฐ ์ •๋„๋กœ ๋ฒˆ์—ญํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ ๋ฐ์ดํ„ฐ ๋ถ„์„์— ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ์šฉ์–ด์ž…๋‹ˆ๋‹ค.

Reference

  • https://www.amazon.com/Programming-Hive-Warehouse-Language-Hadoop/dp/1449319335

  • https://www.amazon.com/Hadoop-Definitive-Guide-Tom-White/dp/1449311520

Last updated