๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋น…๋ฐ์ดํ„ฐ (18)

data_lab

๊ฒฌ๊ณ ํ•œ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ๋ฆฌ๋ทฐ

๋น…๋ฐ์ดํ„ฐ ๋ถ„์•ผ ์ค‘ ๋ฐ์ดํ„ฐ์—”์ง€๋‹ˆ์–ด๋ง์— ๊ด€ํ•œ ์ฑ…๋„ ์ถœ๊ฐ„์ด ๋งŽ์ด ๋Š˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฆฌ๋ทฐํ•  ์ฑ…์€ ํ•œ๋น›๋ฏธ๋””์–ด์˜ "๊ฒฌ๊ณ ํ•œ๋ฐ์ดํ„ฐ์—”์ง€๋‹ˆ์–ด๋ง"์ž…๋‹ˆ๋‹ค. https://www.yes24.com/Product/Goods/119712582 ๊ฒฌ๊ณ ํ•œ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง - YES24 ์‹ค์šฉ์ ์ธ ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง์˜ ์„ธ๊ณ„๋กœ ์ด๋„๋Š” ์ตœ๊ณ ์˜ ์•ˆ๋‚ด์„œ!๊ณ ๊ฐ ์š”๊ตฌ ์‚ฌํ•ญ์— ๋งž๋Š” ์‹œ์Šคํ…œ์„ ๊ณ„ํšํ•˜๊ณ  ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง ๋ถ„์•ผ๊ฐ€ ๋น ๋ฅด๊ฒŒ ์„ฑ์žฅํ•˜๋ฉด์„œ ๋งŽ์€ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด www.yes24.com ์›์„œ ์ œ๋ชฉ์€ ์˜ค๋ผ์ผ๋ฆฌ์‚ฌ์˜ The Fundamental of Data Engineering ์ž…๋‹ˆ๋‹ค. ํ•ด๋‹น ์ฑ…์€ ๋ฐ์ดํ„ฐ์—”์ง€๋‹ˆ์–ด์—๊ฒŒ ์ถ”์ฒœ์ด ๋งŽ์€ ์ฑ…์ž…๋‹ˆ๋‹ค. ๊ผญ ๋ฐ์ดํ„ฐ์—”์ง€๋‹ˆ์–ด๊ฐ€ ์•„๋‹ˆ๋”๋ผ๋„ ํ•ด๋‹น ์ง๋ฌด์— ๊ด€์‹ฌ์ด์žˆ๊ฑฐ๋‚˜ ๋น…๋ฐ์ดํ„ฐ๋ฅผ ๋„์ž…ํ•˜๊ฑฐ๋‚˜ ๊ด€์‹ฌ์ด ์žˆ๋Š” ๋ถ„์—๊ฒŒ ์ถ”์ฒœํ•ฉ๋‹ˆ๋‹ค...

์ฑ… ์„œํ‰ 2023. 7. 17. 18:45
์Šค์นผ๋ผ ๋ถ 01

์Šค์นผ๋ผ์˜ ๋ง› ์Šค์นผ๋ผ ํŠน์ง• ์ •์  ํƒ€์ž… ๊ตฌ๋ฌธ ๊ฐ„๊ฒฐํ•˜๋ฉฐ ์ฝ๊ธฐ ์‰ฌ์›€ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณผ ํ•จ์ˆ˜ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„ ์ง€์› ์ •๊ตํ•œ ์œ ํ˜• ์ถ”๋ก  ์‹œ์Šคํ…œ? JVM์—์„œ ์‹คํ–‰๋˜๋Š” ํด๋ž˜์ŠคํŒŒ์ผ ์ƒ์„ฑ ์ž๋ฐ” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฌ์›€ Hello, World Hello.scala object Hello expends App { println("Hello, World") } ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์˜ ๋ณ€์ˆ˜ val : ๋ถˆ๋ณ€ ๋ณ€์ˆ˜ - ์ž๋ฐ”์—์„œ final๊ณผ ๊ฐ™์Œ var : ๊ฐ€๋ณ€ ๋ณ€์ˆ˜ - ํŠน๋ณ„ํ•œ ์ด์œ ๊ฐ€ ์žˆ์„ ๋•Œ๋งŒ ์‚ฌ์šฉ ๋ณ€์ˆ˜ ์œ ํ˜• ์„ ์–ธ ์œ ํ˜•์„ ์„ ์–ธํ•˜์ง€ ์•Š๊ณ  ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ฆ val x = 1 val s = "string" val p = new Persion("Regina") ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฝ”๋“œ ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์œ ์ง€ํ•˜๋Š”๋ฐ ๋„์›€๋จ ์œ ํ˜• ๋ช…์‹œํ•  ์ˆ˜..

[Hive] ํ•˜์ด๋ธŒ ๋ช…๋ น์–ด ์ •๋ฆฌ/ Hive ๋ช…๋ น์–ด ์ •๋ฆฌ

HIVE ํ…Œ์ด๋ธ” ๊ด€๋ฆฌ HIVE ํ…Œ์ด๋ธ” 1. ๋ฐ์ดํ„ฐ๋ฅผ HIVE ํ…Œ์ด๋ธ”๋กœ ๊ฐ€์ ธ์˜ค๋ฉด? HiveQL, ํ”ผ๊ทธ, ์ŠคํŒŒํฌ ๋“ฑ์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌ > ์ƒํ˜ธ์šด์˜ ๋ณด์žฅ 2. HIVE๊ฐ€ ์ง€์›ํ•˜๋Š” ํ…Œ์ด๋ธ” ์ข…๋ฅ˜ - ๋‚ด๋ถ€ ํ…Œ์ด๋ธ” : HIVE๊ฐ€ ๊ด€๋ฆฌ, HIVE/ ๋ฐ์ดํ„ฐ์›จ์–ดํ•˜์šฐ์Šค์— ์ €์žฅ, ๋‚ด๋ถ€ํ…Œ์ด๋ธ” ์‚ญ์ œ ์‹œ ๋ฉ”ํƒ€์ •์˜์™€ ๋ฐ์ดํ„ฐ๊นŒ์ง€ ์‚ญ์ œ๋จ, ORC๊ฐ™์€ ํ˜•์‹์œผ๋กœ ์ €์žฅ๋˜์–ด ๋น„๊ต์  ๋น ๋ฅธ ์„ฑ๋Šฅ - ์™ธ๋ถ€ ํ…Œ์ด๋ธ” : ํ•˜์ด๋ธŒ๊ฐ€ ์ง์ ‘ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์Œ, ํ•˜์ด๋ธŒ์˜ ๋ฉ”ํƒ€์ •์˜๋งŒ ์‚ฌ์šฉํ•˜์—ฌ ์›์‹œ ํ˜•ํƒœ๋กœ ์ €์žฅ๋œ ํ…์ŠคํŠธ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผ ์™ธ๋ถ€ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•ด๋„ ํ…Œ์ด๋ธ” ๋ฉ”ํƒ€ ์ •์˜๋งŒ ์‚ญ์ œ๋˜๊ณ  ๋ฐ์ดํ„ฐ๋Š” ์œ ์ง€๋จ. ํ•ด๋‹น ๋ฐ์ดํ„ฐ๊ฐ€ ํ•˜์ด๋ธŒ ์™ธ๋ถ€์— ์ ์žฌ ๋˜์–ด์žˆ๊ฑฐ๋‚˜ ํ…Œ์ด๋ธ”์ด ์‚ญ์ œ๋˜๋”๋ผ๋„ ์›๋ณธ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚จ์•„ ์žˆ์–ด์•ผํ•  ๋•Œ ์‚ฌ์šฉ 3.csv ํŒŒ์ผ์„ ํ•˜์ด๋ธŒ ํ…Œ์ด๋ธ”๋กœ ๊ฐ€์ ธ์˜ค๊ธฐ 1...

[ํ•˜๋‘ก์—์ฝ”์‹œ์Šคํ…œ] ์ŠคํŒŒํฌ / apache spark

ํ•˜๋‘ก์˜ ๋ฌธ์ œ์ ์„ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด ์ŠคํŒŒํฌ ์ƒ๊น€ ํ•˜๋‘ก์˜ ๋ฌธ์ œ๋Š” 1. ๋ฐ˜๋ณต์ ์ธ ์ž‘์—…์—๋Š” ๋น„ํšจ์œจ์ ์ž„ 2. ๋งต๋ฆฌ๋“€์Šค์‹œ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์œผ๋กœ ์ธํ•ด ์„ฑ๋Šฅ์ €ํ•˜๋จ. ์ŠคํŒŒํฌ๋ž€? ๊ธฐ์กด ๋งต๋ฆฌ๋“€์Šค์˜ ๋””์Šคํฌ ์ž…์ถœ๋ ฅ์„ ๋ณด์™„ํ•˜์—ฌ ์ธ ๋ฉ”๋ชจ๋ฆฌ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ํ”„๋ ˆ์ž„ ์›Œํฌ ์ด๋‹ค. ์ธ ๋ฉ”๋ชจ๋ฆฌ - ์ตœ์ดˆ ๋ฐ์ดํ„ฐ ์ž…๋ ฅ, ์ถœ๋ ฅ์—๋งŒ ๋””์Šคํฌ์— ์ž‘์„ฑํ•จ์œผ๋กœ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๋ฐœ์ƒ ๋‚ฎ์ถค, ์ค‘๊ฐ„ ๊ฒฐ๊ณผ๋Š” ๋ณ‘๋ ฌ์ฒ˜๋ฆฌํ•จ ์ŠคํŒŒํฌ์˜ ์ฃผ์š”๊ธฐ๋Šฅ - ์ŠคํŒŒํฌ SQL, ์ŠคํŒŒํฌ ์ŠคํŠธ๋ฆฌ๋ฐ, ์ŠคํŒŒํฌ MLlib, ์ŠคํŒŒํฌ GraphX, ์ŠคํŒŒํฌ ์ฝ”์–ด, ์ŠคํŒŒํฌ ์ž‘์—… ์ฒ˜๋ฆฌ ์ŠคํŒŒํฌ ์•„ํ‚คํ…์ฒ˜ ๋…ธ๋“œ๋งค๋‹ˆ์ € ์•ˆ์— ๋“œ๋ผ์ด๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์ด ์žˆ์Œ. 1. ๋“œ๋ผ์ด๋ฒ„ ํ”„๋กœ๊ทธ๋žจ์ด SparkContext ์ธ์Šคํ„ด์Šค ์ƒ์„ฑํ•จ(์ด๋•Œ yarn๊ณผ ์—ฐ๊ฒฐ) 2. executors ๋ฅผ ์š”๊ตฌ 3. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ๋ฅผ executors์— ๋ณด..

[ํ•˜๋‘ก์—์ฝ”์‹œ์Šคํ…œ] Apache Avro / ์•„ํŒŒ์น˜ ์—์ด๋ธŒ๋กœ

์•„ํŒŒ์น˜ ์—์ด๋ธŒ๋กœ๋ž€ ? - ํŠน์ • ์–ธ์–ด์— ์ข…์†๋˜์ง€ ์•Š๋Š” ์–ธ์–ด ์ค‘๋ฆฝ์  ๋ฐ์ดํ„ฐ ์ง๋ ฌํ™” ์‹œ์Šคํ…œ - ํ•˜๋‘ก Writable์˜ ์ฃผ์š” ๋‹จ์ ์ธ ์–ธ์–ด ์ด์‹์„ฑ ํ•ด๊ฒฐ ์œ„ํ•ด ์ƒ๊ฒจ๋‚จ ์•„ํŒŒ์น˜ ์“ฐ๋ฆฌํ”„ํŠธ, ๊ตฌ๊ธ€ ํ”„๋กœํ† ์ฝœ ๋ฒ„ํผ์™€ ๋‹ค๋ฅธ ์ฐจ๋ณ„ํ™”๋œ ํŠน์„ฑ๊ฐ€์ง€๊ณ  ์žˆ์Œ ๋ฐ์ดํ„ฐ๋Š” ๋‹ค๋ฅธ ์‹œ์Šคํ…œ๊ณผ ๋น„์Šทํ•˜๊ฒŒ ์–ธ์–ด ๋…๋ฆฝ ์Šคํ‚ค๋งˆ๋กœ ๊ธฐ์ˆ ๋จ ์—์ด๋ธŒ๋กœ์—์„œ ์ฝ”๋“œ ์ƒ์„ฑ์€ ์„ ํƒ์‚ฌํ•ญ์ž„ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ์“ฐ๋Š” ์‹œ์ ์— ์Šคํ‚ค๋งˆ๋Š” ํ•ญ์ƒ ์กด์žฌํ•œ๋‹ค ๊ฐ€์ •ํ•จ - ๋งค์šฐ ๊ฐ„๊ฒฐํ•œ ์ฝ”๋”ฉ์ด ๊ฐ€๋Šฅ ์Šคํ‚ค๋งˆ์˜ ์ž‘์„ฑ JSON ๋ฐ์ดํ„ฐ๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ํฌ๋งท์œผ๋กœ ์ธ์ฝ”๋”ฉ ์—์ด๋ธŒ๋กœ ๋ช…์„ธ - ๋ชจ๋“  ๊ตฌํ˜„์ฒด๊ฐ€ ์ง€์›ํ•ด์•ผ ํ•˜๋Š” ๋ฒ„์ด๋„ˆ๋ฆฌ ํฌ๋งท์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ API - ์—์ด๋ธŒ๋กœ ๋ช…์„ธ์—์„œ ๋น ์ ธ์žˆ๋Š” ๋‚ด์šฉ์ž„. ๊ฐ ํŠน์ •์–ธ์–ด์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ์ž‘์„ฑ๋จ. ์–ธ์–ด์˜ ๋ฐ”์ธ๋”ฉ ํŽธ์˜์„ฑ ๋†’์ด๊ณ  ์ƒํ˜ธ์šด์˜์„ฑ ์ €ํ•˜ ๋ฌธ์ œ ํ•ด๊ฒฐ๋จ ์Šคํ‚ค๋งˆํ•ด์„ - ์‹ ์ค‘ํ•˜๊ฒŒ ์ •์˜๋œ..