๋ฐ˜์‘ํ˜•

 

๐Ÿ’ก๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ์˜ ํ”„๋ ˆ์ž„์›Œํฌ๐Ÿ’ก

 

โœ”๏ธ๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ์™€ ๋น„๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ

 

SQL๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘๊ณ„ํ•˜๋Š” ๊ฒฝ์šฐ, ๋จผ์ € ํ…Œ์ด๋ธ”์˜ ์นผ๋Ÿผ ๋ช…๊ณผ ๋ฐ์ดํ„ฐํ˜•, ํ…Œ์ด๋ธ” ๊ฐ„์˜ ๊ด€๊ณ„ ๋“ฑ์„ ์Šคํ‚ค๋งˆ๋กœ ์ •ํ•จ

 

=> ์Šคํ‚ค๋งˆ๊ฐ€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋ผ๊ณ  ํ•œ๋‹ค!

 

(๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ ์›จ์–ดํ•˜์šฐ์Šค์—์„œ๋Š” ํ•ญ์ƒ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋กœ ์ถ•์ ํ•˜๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ด์—ˆ์Œ)

 

 

์Šคํ‚ค๋งˆ๊ฐ€ ์—†๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋น„๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ๋ผ๊ณ  ํ•จ!

 

(์ž์—ฐ ์–ธ์–ด๋กœ ์ž‘์„ฑ๋œ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์™€ ์ด๋ฏธ์ง€, ๋™์˜์ƒ ๋“ฑ์˜ ๋ฏธ๋””์–ด ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋จ)

 

=> ์ด ์ƒํƒœ๋กœ๋Š” SQL๋กœ ์ œ๋Œ€๋กœ ์ง‘๊ณ„ X

 

๋น„๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ ์Šคํ† ๋ฆฌ์ง€ ๋“ฑ์— ์ €์žฅํ•˜๊ณ  ๊ทธ๊ฒƒ์„ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์ด ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ์˜ ๊ฐœ๋…์ž„

=> ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜๋Š” ๊ณผ์ •์—์„œ ์Šคํ‚ค๋งˆ๋ฅผ ์ •์˜ํ•˜๊ณ , ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ํ•จ์œผ๋กœ์จ ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ถ„์„ํ•  ์ˆ˜ ์žˆ์Œ

 

 

์Šคํ‚ค๋งˆ๋ฆฌ์Šค ๋ฐ์ดํ„ฐ

 

CSV, JSON, XML ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋Š” ์„œ์‹์€ ์ •ํ•ด์ ธ ์žˆ์ง€๋งŒ, ์นผ๋Ÿผ ์ˆ˜๋‚˜ ๋ฐ์ดํ„ฐํ˜•์€ ๋ช…ํ™•ํ•˜์ง€ ์•Š์•„ ์Šคํ‚ค๋งˆ๋ฆฌ์Šค ๋ฐ์ดํ„ฐ๋ผ๊ณ  ๋ถˆ๋ฆผ

 

(๋ช‡๋ช‡ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์Šคํ‚ค๋งˆ๋ฆฌ์Šค ๋ฐ์ดํ„ฐ์— ๋Œ€์‘ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๋ฐ์ดํ„ฐ ๋ ˆ์ดํฌ์—์„œ๋Š” ๋Œ€๋Ÿ‰์œผ๋กœ ์ถ•์ ๋œ ์Šคํ‚ค๋งˆ๋ฆฌ์Šค ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋„๋ก ํ•˜๋Š” ์š”๊ตฌ๋„ ์ข…์ข… ์žˆ๋‹ค๊ณ ํ•จ)

 

์ธํ„ฐ๋„ท์„ ํ†ตํ•ด ์ฃผ๊ณ ๋ฐ›๋Š” ๋ฐ์ดํ„ฐ๋กœ JSON ํ˜•์‹์„ ์ด์šฉํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ํŠนํžˆ ๋งŽ์Œ

=> ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค์šด๋กœ๋“œํ•  ๋•Œ๋งˆ๋‹ค ์Šคํ‚ค๋งˆ๋ฅผ ์ •ํ•˜๋Š” ๊ฒƒ์€ ์‹œ๊ฐ„๊ณผ ๋น„์šฉ์ด ์†Œ์š”๋˜๊ธฐ ๋•Œ๋ฌธ์— JSON์€ JSON ๊ทธ๋Œ€๋กœ ์ €์žฅํ•˜๊ณ  ๊ฑฐ๊ธฐ์„œ ๋ฐ์ดํ„ฐ ๋ถ„์„์— ํ•„์š”ํ•œ ํ•„๋“œ๋งŒ์„ ์ถ”์ถœํ•˜๋Š”๊ฒŒ ๊ฐ„๋‹จํ•จ

 

 

๋ฐ์ดํ„ฐ ๊ตฌ์กฐํ™”์˜ ํŒŒ์ดํ”„๋ผ์ธ

 

๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ์˜ˆ์‹œ

 

 

์œ„ ํŒŒ์ดํ”„๋ผ์ธ์„ ์‚ดํŽด๋ณด๋ฉด ๊ฐ ๋ฐ์ดํ„ฐ ์†Œ์Šค์—์„œ ์ˆ˜์ง‘๋œ ๋น„๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ, ์Šคํ‚ค๋งˆ๋ฆฌ์Šค ๋ฐ์ดํ„ฐ๋Š” ์ฒ˜์Œ์— ๋ถ„์‚ฐ ์Šคํ† ๋ฆฌ์ง€์— ๋ณด์กด๋จ

 

=> ๋ถ„์‚ฐ ์Šคํ† ๋ฆฌ์ง€์— ์ˆ˜์ง‘๋œ ๋ฐ์ดํ„ฐ๋Š” ๋ช…ํ™•ํ•œ ์Šคํ‚ค๋งˆ๋ฅผ ๊ฐ–์ง€ ์•Š๋Š” ๊ฒƒ๋„ ๋งŽ์œผ๋ฏ€๋กœ ๊ทธ๋Œ€๋กœ SQL ์ง‘๊ณ„ ๋ถˆ๊ฐ€๋Šฅ

 

๋”ฐ๋ผ์„œ, ์Šคํ‚ค๋งˆ๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ํ•œ ํ…Œ์ด๋ธ” ํ˜•์‹์˜ ๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ๋กœ ๋ณ€ํ™˜ํ•ด์•ผํ•จ

 

=> ์ผ๋ฐ˜์ ์œผ๋กœ ๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ๋Š” ๋ฐ์ดํ„ฐ์˜ ์••์ถ•๋ฅ ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ์—ด ์ง€ํ–ฅ ์Šคํ† ๋ฆฌ์ง€๋กœ ์ €์žฅํ•จ

 

๋น„๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด ๋“ค์—ฌ ์—ด ์ง€ํ–ฅ ์Šคํ† ๋ฆฌ์ง€๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณผ์ •์—์„œ๋Š” ๋ฐ์ดํ„ฐ์˜ ๊ฐ€๊ณต ๋ฐ ์••์ถ•์„ ์œ„ํ•ด ๋งŽ์€ ์ปดํ“จํ„ฐ ๋ฆฌ์†Œ์Šค๊ฐ€ ์†Œ๋น„๋จ

=> Hadoop๊ณผ Spark ๋“ฑ์˜ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•จ

 

 

โœ”๏ธHadoop

 

Hadoop์€ ๋‹จ์ผ ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์•„๋‹ˆ๋ผ ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜๋Š” ๋‹ค์ˆ˜์˜ ์†Œํ”„ํŠธ์›จ์–ด๋กœ ์ด๋ฃจ์–ด์ง„ ์ง‘ํ•ฉ์ฒด์ด๋‹ค!

 

=> Hadoop2(2013๋…„ ๋ฐฐํฌ)๋ถ€ํ„ฐ YARN์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ƒˆ๋กœ์šด ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ์ž ์ƒ์—์„œ ๋ณต์ˆ˜์˜ ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๋™์ž‘ํ•˜๋Š” ๊ตฌ์„ฑ์œผ๋กœ ๋˜์–ด, ๋Œ€๊ทœ๋ชจ ๋ถ„์‚ฐ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๊ณตํ†ต ํ”Œ๋žซํผ์˜ ์—ญํ• ์„ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ์Œ

 

๋ถ„์‚ฐ ์‹œ์Šคํ…œ์˜ ๊ตฌ์„ฑ ์š”์†Œ

 

 

Hadoop์˜ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์š”์†Œ๋Š” ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์ธ HDFS, ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ์ž์ธ YARN, ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์˜ ๊ธฐ๋ฐ˜์ธ MapReduce 3๊ฐ€์ง€ ์ด๋‹ค 

 

๊ทธ ์™ธ์˜ ํ”„๋กœ์ ํŠธ๋Š” Hadoop ๋ณธ์ฒด์™€๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ๊ฐœ๋ฐœ๋˜์–ด Hadoop์„ ์ด์šฉํ•œ ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋™์ž‘ํ•จ

 

=> ๋ชจ๋“  ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์ด Hadoop์— ์˜์กดํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ, Hadoop์„ ์ผ๋ถ€๋งŒ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ ํ˜น์€ ์ „ํ˜€ ์ด์šฉํ•˜์ง€ ์•Š๋Š” ๊ตฌ์„ฑ๋„ ์žˆ์Œ

 

๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ์ค‘์—์„œ ์ž์‹ ์—๊ฒŒ ๋งž๋Š” ๊ฒƒ์„ ์„ ํƒํ•˜๊ณ  ๊ทธ๊ฒƒ๋“ค์„ ์กฐํ•ฉํ•จ์œผ๋กœ์จ ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ์ด Hadoop์„ ์ค‘์‹ฌ์œผ๋กœ ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์˜ ํŠน์ง•

 

 

๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ๊ณผ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ์ž

 

Hadoop์—์„œ ์ฒ˜๋ฆฌ๋˜๋Š” ๋ฐ์ดํ„ฐ ๋Œ€๋ถ€๋ถ„์€ ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์ธ HDFS์— ์ €์žฅ๋จ

 

=> ์ด๊ฒƒ์€ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐ๋œ ํŒŒ์ผ ์„œ๋ฒ„์™€ ๊ฐ™์€ ์กด์žฌ์ด์ง€๋งŒ, ๋‹ค์ˆ˜์˜ ์ปดํ“จํ„ฐ์— ํŒŒ์ผ์„ ๋ณต์‚ฌํ•˜์—ฌ ์ค‘๋ณต์„ฑ์„ ๋†’์ธ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Œ

 

CPU๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ๋“ฑ์˜ ๊ณ„์‚ฐ ๋ฆฌ์†Œ์Šค๋Š” ๋ฆฌ์†Œ์Šค ๋งค๋‹ˆ์ €์ธ YARN์— ์˜ํ•ด ๊ด€๋ฆฌ๋จ

 

(YARN์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‚ฌ์šฉํ•˜๋Š” CPU ์ฝ”์–ด์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ปจํ…Œ์ด๋„ˆ๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋‹จ์œ„๋กœ ๊ด€๋ฆฌํ•จ)

 

=> Hadoop์—์„œ ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋ฉด YARN์ด ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด์˜ ๋ถ€ํ•˜๋ฅผ ๋ณด๊ณ  ๋น„์–ด ์žˆ๋Š” ํ˜ธ์ŠคํŠธ๋ถ€ํ„ฐ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ํ• ๋‹น

 

YARN์˜ ์ปจํ…Œ์ด๋„ˆ๋Š” Docker์ฒ˜๋Ÿผ OS ์ˆ˜์ค€์˜ ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์ด ์•„๋‹ˆ๋ผ ์–ด๋–ค ํ˜ธ์ŠคํŠธ์—์„œ ์–ด๋–ค ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰์‹œํ‚ฌ ๊ฒƒ์ธ์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€์˜ ๊ธฐ์ˆ ์ž„

 

 

=> HDFS๋Š” ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์˜ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ๊ด€๋ฆฌํ•˜์—ฌ ํ•ญ์ƒ ์—ฌ๋Ÿฌ ์ปดํ“จํ„ฐ์— ๋ณต์‚ฌ๋˜๋„๋ก ํ•จ

(YARN์€ CPU์™€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ  ๋ฆฌ์†Œ์Šค์— ์—ฌ์œ ๊ฐ€ ์žˆ๋Š” ์ปดํ“จํ„ฐ์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•จ)

 

๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๋งˆ๋‹ค ์‹คํ–‰์˜ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Œ
(์ค‘์š”ํ•˜์ง€ ์•Š์€ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ์—๋Š” ๋‚ฎ์€ ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌ)

=> ์šฐ์„ ๋˜๋Š” ์ž‘์—…๋ถ€ํ„ฐ ์‹คํ–‰ํ•จ์œผ๋กœ์จ ํ•œ์ •๋œ ๋ฆฌ์†Œ์Šค๋ฅผ ๋‚ญ๋น„ ์—†์ด ํ™œ์šฉํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅ

 

๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐ ์ฟผ๋ฆฌ ์—”์ง„

 

MapReduce๋„ YARN ์ƒ์—์„œ ๋™์ž‘ํ•˜๋Š” ๋ถ„์‚ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋จ

 

=>  MapReduce๋Š” ์ž„์˜์˜ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋น„๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜๋Š” ๋ฐ ์ ํ•ฉ

(์ž๋ฐ”์˜ ํ”Œ๋žซํผ ๋…๋ฆฝ์„ฑ, ๊ฐ•๋ ฅํ•œ ํ‘œ์ค€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์˜คํ”ˆ์†Œ์Šค ์ƒํƒœ๊ณ„, ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ง€์›๋“ฑ์˜ ํŠน์„ฑ)

 

MapReduce๋Š” ์›๋ž˜ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์‹œ์Šคํ…œ์ด๋‹ค

 

=> ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์—์„œ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์ง€๋งŒ, ์ž‘์€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋ฉด ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ๋„ˆ๋ฌด ํฌ๊ธฐ ๋•Œ๋ฌธ์— ๋ช‡ ์ดˆ ์•ˆ์— ๋๋‚˜๋ฒ„๋ฆฌ๋Š” ์ฟผ๋ฆฌ ์‹คํ–‰์—๋Š” ์ ํ•ฉ X

 

 

์ด ์„ฑ์งˆ์„ ๊ณ„์Šนํ•œ SQL ๋“ฑ์˜ ์ฟผ๋ฆฌ ์–ธ์–ด์— ์˜ํ•œ ๋ฐ์ดํ„ฐ ์ง‘๊ณ„๋ฅผ ์œ„ํ•ด ์„ค๊ณ„๋œ ์ฟผ๋ฆฌ ์—”์ง„์ธ Apache Hive์˜ ๊ฒฝ์šฐ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๋Š” ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ์—๋Š” ์ ํ•ฉํ•˜๋‚˜, ์• ๋“œ ํ˜น ์ฟผ๋ฆฌ๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์‹คํ–‰ํ•˜๋Š” ๋ฐ๋Š” ๋ถ€์ ํ•ฉ!

 

Hive on MR์˜ ์‹คํ–‰ ๊ณผ์ •

 

=> MapReduce์—์„œ๋Š” ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์˜ ์Šคํ…Œ์ด์ง€๊ฐ€ ๋ฐ”๋€” ๋•Œ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ์žˆ์–ด์„œ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ์—์„œ๋Š” ๋Œ€๊ธฐ ์‹œ๊ฐ„๋งŒ ์ฆ๊ฐ€ํ•จ

 

Hive on Tez

Hive๋ฅผ ๊ฐ€์†ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋…ธ๋ ฅ์˜ ํ•˜๋‚˜๋กœ ๊ฐœ๋ฐœ๋œ ๊ฒƒ์ด Apache Tez์ž„

 

Hive on Tez์˜ ์‹คํ–‰ ๊ณผ์ •

 

MapReduce ํ”„๋กœ๊ทธ๋žจ์—์„œ๋Š” 1ํšŒ์˜ MapReduce ์Šคํ…Œ์ด์ง€๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ ๋‹ค์Œ์˜ ์ฒ˜๋ฆฌ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์—†์—ˆ์ง€๋งŒ Tez์—์„œ๋Š” ์Šคํ…Œ์ด์ง€์˜ ์ข…๋ฃŒ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์ฒ˜๋ฆฌ๊ฐ€ ๋๋‚œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ํ›„์† ์ฒ˜๋ฆฌ์— ์ „๋‹ฌํ•จ์œผ๋กœ์จ ์ฟผ๋ฆฌ ์ „์ฒด์˜ ์‹คํ–‰ ์‹œ๊ฐ„์„ ๋‹จ์ถ•!

 

=> ์ด๋ ‡๋“ฏ MapReduce์— ์žˆ๋˜ ๋ช‡ ๊ฐ€์ง€ ๋‹จ์ ์„ ํ•ด์†Œํ•จ์œผ๋กœ์จ ๊ณ ์†ํ™”๋ฅผ ์‹คํ˜„

 

Tez์—์„œ๋Š” ๋ถˆํ•„์š”ํ•œ ๋‹จ๊ณ„๊ฐ€ ๊ฐ์†Œํ•˜์—ฌ ์ฒ˜๋ฆฌ๊ฐ€ ์งง์•„์ง๊ณผ ๋™์‹œ์—, ์Šคํ…Œ์ด์ง€ ์‚ฌ์ด์˜ ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ์—†์–ด ์ฒ˜๋ฆฌ ์ „์ฒด๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋˜์„œ ์‹คํ–‰ ์‹œ๊ฐ„์ด ๋‹จ์ถ•๋œ๋‹ค!

 

 

๋Œ€ํ™”ํ˜• ์ฟผ๋ฆฌ ์—”์ง„

Hive๋ฅผ ๊ณ ์†ํ™”ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋Œ€ํ™”ํ˜•์˜ ์ฟผ๋ฆฌ ์‹คํ–‰๋งŒ ์ „๋ฌธ์œผ๋กœ ํ•˜๋Š” ์ฟผ๋ฆฌ ์—”์ง„๋„ ๊ฐœ๋ฐœ๋˜๊ณ  ์žˆ๋‹ค!

 

(Apache Impala ์™€ Presto๊ฐ€ ๋Œ€ํ‘œ์ )

 

MapReduce์™€ Tez๋Š” ์žฅ์‹œ๊ฐ„์˜ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ๋ฅผ ๊ฐ€์ •ํ•ด ํ•œ์ •๋œ ๋ฆฌ์†Œ์Šค๋ฅผ ์œ ํšจํ•˜๊ฒŒ ํ™œ์šฉํ•˜๋„๋ก ์„ค๊ณ„๋จ

ํ•œํŽธ, ๋Œ€ํ™”ํ˜• ์ฟผ๋ฆฌ ์—”์ง„์œผ๋กœ๋Š” ์ˆœ๊ฐ„ ์ตœ๋Œ€ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ œ๊ฑฐ๋˜์–ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜์—ฌ ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•จ

 

=> ๋Œ€ํ™”ํ˜• ์ฟผ๋ฆฌ ์—”์ง„์€ MPP ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋น„๊ตํ•ด๋„ ์†์ƒ‰์—†๋Š” ์‘๋‹ต ์‹œ๊ฐ„์„ ์‹คํ˜„ํ•˜๊ณ  ์žˆ๋‹ค!

 

Presto์™€ Impala์˜ ์‹คํ–‰ ๊ณผ์ •

 

Presto์™€ Impala๋Š” YARN๊ณผ ๊ฐ™์€ ๋ฒ”์šฉ์ ์ธ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ , SQL์˜ ์‹คํ–‰๋งŒ ํŠนํ™”ํ•œ ๋…์ž์ ์ธ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ  ์žˆ์Œ

 

=> MPP ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ฒ˜๋Ÿผ ๋ฉ€ํ‹ฐ ์ฝ”์–ด๋ฅผ ํ™œ์šฉํ•˜๋ฉด์„œ ๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ๋ณ‘๋ ฌํ™”ํ•จ์œผ๋กœ์จ ๊ณ ์†ํ™”๋ฅผ ์‹คํ˜„

 

 Hadoop์—์„œ๋Š” ์„ฑ์งˆ์ด ๋‹ค๋ฅธ ์ฟผ๋ฆฌ ์—”์ง„์„ ๋ชฉ์ ์— ๋”ฐ๋ผ ๊ตฌ๋ถ„ํ•จ

๋Œ€๋Ÿ‰์˜ ๋น„๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€๊ณตํ•˜๋Š” ๋ฌด๊ฑฐ์šด ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ์—๋Š” ๋†’์€ ์ฒ˜๋ฆฌ๋Ÿ‰์œผ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” Hive๋ฅผ ์ด์šฉํ•˜๊ณ  ๊ทธ๋ ‡๊ฒŒ ํ•ด์„œ ์™„์„ฑํ•œ ๊ตฌ์กฐํ™” ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€ํ™”์‹์œผ๋กœ ์ง‘๊ณ„ํ•˜๊ณ ์ž ํ•  ๋•Œ๋Š” ์ง€์—ฐ์ด ์ ์€ Impala์™€ Presto๋“ฑ์ด ์ ํ•ฉ

 

โœ”๏ธSpark

 

Hadoop์˜ ์—ฐ์žฅ์„  ์ƒ์— ์žˆ๋Š” Tez์™€ ๋‹ฌ๋ฆฌ, Spark๋Š” Hadoop๊ณผ๋Š” ๋‹ค๋ฅธ ๋…๋ฆฝ๋œ ํ”„๋กœ์ ํŠธ์ž„!

 

Spark์˜ ํŠน์ง•์€ ๋Œ€๋Ÿ‰์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๊ณ ์†ํ™”๋ฅผ ์‹คํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค

 

=> ๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์ƒ์— ์˜ฌ๋ฆฐ ์ƒํƒœ๋กœ ๋‘์–ด ๋””์Šคํฌ์—๋Š” ์•„๋ฌด๊ฒƒ๋„ ๊ธฐ๋ก X

 

(์ด ๊ฒฝ์šฐ ์ปดํ“จํ„ฐ๊ฐ€ ๋น„์ •์ƒ ์ข…๋ฃŒํ•˜๋ฉด ์ค‘๊ฐ„๊นŒ์ง€ ์ฒ˜๋ฆฌํ•œ ์ค‘๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ์‚ฌ๋ผ์ ธ ๋ฒ„๋ฆฌ๊ธฐ์— ์ฒ˜๋ฆฌ๋ฅผ ๋‹ค์‹œ ์‹œ๋„ํ•ด์•ผ ํ•จ)

 

MapReduce ๋Œ€์ฒดํ•˜๊ธฐ

 

Spark๋Š” Hadoop์„ ๋Œ€์ฒดํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ MapReduce๋ฅผ ๋Œ€์ฒดํ•˜๋Š” ์กด์žฌ์ž„

 

=> ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ์ธ HDFS๋‚˜ ๋ฆฌ์†Œ์Šค ๊ด€๋ฆฌ์ž์ธ YARN ๋“ฑ์€ Spark์—์„œ๋„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ

(Hadoop ์ด์šฉํ•˜์ง€ ์•Š๊ณ  ๋ถ„์‚ฐ ์Šคํ† ๋ฆฌ์ง€ Amazon S3๋‚˜ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์นด์‚ฐ๋“œ๋ผ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅ)

 

 

 

Spark์˜ ์‹คํ–‰ ๊ณผ์ •

 

 

Spark์—์„œ๋Š” ์ค‘๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ๋””์Šคํฌ์— ์“ฐ์ง€ ์•Š๊ณ  ๋ฉ”๋ชจ๋ฆฌ์— ๋ณด์กดํ•จ

 

=> ์‹คํ–‰ ์ค‘์— ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ ํ•„์š”ํ•˜์ง€๋งŒ ์‹คํ–‰ ์‹œ๊ฐ„์€ ๋‹จ์ถ•

 

=> ์žฅ์•  ๋“ฑ์œผ๋กœ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ์ค‘๊ฐ„ ๋ฐ์ดํ„ฐ๋ฅผ ์žƒ์–ด๋ฒ„๋ ค๋„, ํ•œ ๋ฒˆ ๋” ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋กœ ๋‹ค์‹œ ์‹คํ–‰ํ•จ

(์ค‘๊ฐ„ ๋ฐ์ดํ„ฐ๋Š” ์˜๋„์ ์œผ๋กœ ๋””์Šคํฌ ์ƒ์— ์บ์‹œํ•˜๋Š” ๊ฒƒ๋„ ๊ฐ€๋Šฅ)

 

 

๋ฐ˜์‘ํ˜•

'๐Ÿณ Data Engineering > Big Data' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋น…๋ฐ์ดํ„ฐ์˜ ํƒ์ƒ‰  (1) 2024.07.24
๋น…๋ฐ์ดํ„ฐ์˜ ๊ธฐ์ดˆ ์ง€์‹  (6) 2024.07.23