software engineering 62

[BigData] ๋Œ€์šฉ๋Ÿ‰ ๋ถ„๋ฅ˜

๋ถ„๋ฅ˜(Classification) ? ์ฃผ์–ด์ง„ ์ž…๋ ฅ์˜ ํŠน์ง•์„ ์‚ฌ์šฉํ•˜์—ฌ ํด๋ž˜์Šค๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ์ž‘์—… ์ง€๋„ํ•™์Šต์˜ ์ผ์ข…์œผ๋กœ ๊ธฐ์กด์˜ ์กด์žฌํ•˜๋Š” ํด๋ž˜์Šค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชจ๋ธ์„ ํ•™์Šตํ•˜์—ฌ ์ƒˆ๋กญ๊ฒŒ ๊ด€์ธก๋œ ๋ฐ์ดํ„ฐ์˜ ํด๋ž˜์Šค๋ฅผ ํŒ๋ณ„ ํด๋ž˜์Šค(์ข…๋ฅ˜)๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ์ž‘์—…์œผ๋กœ์จ, ํšŒ๊ท€(์—ฐ์†๋œ ๊ฐ’)์„ ์˜ˆ์ธกํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ์ฐจ์ด๊ฐ€ ์žˆ์Œ ๋ถ„๋ฅ˜ ํ™œ์šฉ ์‚ฌ๋ก€ ์‹ ์šฉ ๋ฆฌ์Šคํฌ ์˜ˆ์ธก : ์—ฌ๋Ÿฌ ๋ณ€์ˆ˜(์‚ฌ์šฉ์ž ์ •๋ณด)๋ฅผ ๊ณ ๋ คํ•˜์—ฌ ๋Œ€์ถœ ์ œ๊ณต ์—ฌ๋ถ€ ํด๋ž˜์Šค๋กœ ํŒ๋ณ„ ๋‰ด์Šค๊ธฐ์‚ฌ ๋ถ„๋ฅ˜ : ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ•™์Šต์‹œ์ผœ ๋‰ด์Šค๊ธฐ์‚ฌ์˜ ์ฃผ์ œ๋ฅผ ์˜ˆ์ธก ์‚ฌ์šฉ์ž ํ–‰์œ„ ๋ถ„๋ฅ˜ : ์„ผ์„œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ง‘ํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ํ™œ๋™์„ ์˜ˆ์ธก ๋ถ„๋ฅ˜ ์œ ํ˜• ์ด์ง„ ๋ถ„๋ฅ˜(Binary Classification) ์ž…๋ ฅ ๋ฐ์ดํ„ฐ๋ฅผ ๋‘ ๊ฐœ์˜ ํด๋ž˜์Šค ์ค‘ ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋กœ ์˜ˆ์ธก ex. ์ŠคํŒธ ๋ฉ”์ผ ํŒ๋ณ„(์ŠคํŒธ ๋˜๋Š” ์ •์ƒ), ๋Œ€์ถœ ์Šน์ธ(์Šน์ธ ๋˜๋Š” ๊ฑฐ์ ˆ), ๊ณ ..

[BigData] Spark ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ „ ์ฒ˜๋ฆฌ

Spark ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์›๋ฆฌ ๊ณ ์ˆ˜์ค€ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž๊ฐ€ API๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ถ„์‚ฐ ํ™˜๊ฒฝ์—์„œ ์ž๋™์œผ๋กœ ๊ณ ์†์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋จ Spark์˜ ๊ณ ์ˆ˜์ค€ API ํ™œ์šฉํ•œ ์ „์ฒ˜๋ฆฌ ๊ฒฐ์ธก์น˜ ์ฒ˜๋ฆฌ ํŠน์ • ์—ด์˜ ๊ฒฐ์ธก์น˜ ์„ธ๊ธฐ : df.filter(df.col_name.isNull()).count() ๊ฒฐ์ธก์น˜๊ฐ€ ์žˆ๋Š” ํ–‰ ์ œ๊ฑฐ : df.na.drop(how="any").show(truncate=False) ์ค‘๋ณต๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ค‘๋ณต๋ฐ์ดํ„ฐ ํ™•์ธ : df.show() ์ค‘๋ณต๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ : df.dropDuplicates(['id', 'name']).show() ๋ฐ์ดํ„ฐ ์ •๊ทœํ™” feature๊ฐ€ ํ‰๊ท 0, ํ‘œ์ค€ํŽธ์ฐจ๊ฐ€ 1์ธ ๋ถ„ํฌ๋ฅผ ๊ฐ–๋„๋ก ๋ฐ์ดํ„ฐ๋ฅผ ์ •๊ทœํ™” sScaler = StandardScaler().setInputCol("features") ..

[BigData] ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ

๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ? ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ ๋ฐ ์ฒ˜๋ฆฌํ•˜๊ธฐ์— ์•Œ๋งž์€ ํ˜•ํƒœ๋กœ ๋งŒ๋“œ๋Š” ๊ณผ์ • ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ์˜ ํ’ˆ์งˆ์ด ๋†’์œผ๋ฉด ๋ถ„์„ ๊ฒฐ๊ณผ์˜ ์ •ํ™•๋„๋„ ํ–ฅ์ƒ ๋น„๊ต์  ์‹œ๊ฐ„์ด ๋งŽ์ด ๊ฑธ๋ฆฌ๊ณ , ๋ฒˆ๊ฑฐ๋กœ์šด ์ž‘์—… ๋ฐ์ดํ„ฐ ๋ถ„์„ ์ „, ๋ฐ์ดํ„ฐ ์ค€๋น„ EDA(Exploratory Data Analysis) ์ „์ฒด์ ์ธ ๋ฐ์ดํ„ฐ ํŒจํ„ด ํŒŒ์•… ๋ฐ์ดํ„ฐ์˜ Feature ์ดํ•ด ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ(Data Preprocessing) ์ด์ƒ์น˜ ๋ฐœ๊ฒฌ ์ด์ƒ์น˜ ์ˆ˜์ • Feature Engineering Feature ์„ ํƒ Feature ์ถ”์ถœ ๋ฐ์ดํ„ฐ ์ „์ฒ˜๋ฆฌ ๊ณผ์ • -> ๋ฐ์ดํ„ฐ ์ •์ œ(Data Cleansing) ๊ฒฐ์ธก์น˜(missing value) ์ฒ˜๋ฆฌ : ๋น„์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ ์ œ๊ฑฐ, ๋Œ€์ฒด ์ด์ƒ์น˜ (outlier) ์ฒ˜๋ฆฌ : ์ด์ƒ์น˜ ์ œ๊ฑฐ ๋ฐ ๋Œ€์ฒด ์ค‘๋ณต(duplicate data) ์ฒ˜๋ฆฌ : ์ค‘๋ณต ๋ฐ์ดํ„ฐ..

[BigData] ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ณ€ํ˜•

01. ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ๊ธฐ๋ฒ• ํ™œ์šฉ ๊ธฐ์กด์˜ ๋ถ„์„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ๊ธฐ๋ฒ•์„ ํ™œ์šฉํ•˜์—ฌ ๋น…๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์†์ฒ˜๋ฆฌํ•ด์•ผํ•จ ๊ธฐ์กด์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ๊ธฐ๋ฒ•์— ๋งž๊ฒŒ ๋ณ€ํ˜•ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ถ„์„ MapReduce ๋ฐฉ์‹์˜ ๋ถ„์‚ฐ์ฒ˜๋ฆฌ ๊ธฐ๋ฒ•์„ ์ ์šฉํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ณ€ํ˜•์„ ํ•  ์ˆ˜ ์žˆ์Œ 02. ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋Œ€์ƒ์œผ๋กœ ํ•œ ๋ถ„์„ ์†Œ์…œ ๋„คํŠธ์›Œํฌ ํ†ต๊ณ„ ๋ฐฉ์•ˆ -> ๋งต๋ฆฌ๋“€์Šค ๋งต ํ•จ์ˆ˜(Mapper)์™€ ๋ฆฌ๋“€์Šค(Reducer) ํ•จ์ˆ˜์˜ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์€ ๋ชจ๋‘ ์ˆœ์„œ์Œ์œผ๋กœ ์ •์˜ํ•จ employee.txt. ๋ฐ์ดํ„ฐ ํŒŒ์ผ์—์„œ FIRST๋ณ„๋กœ ๋นˆ๋„์ˆ˜๊ฐ€ ์–ผ๋งˆ์ธ์ง€ ์ธก์ •ํ•˜๋Š” ๋งต๋ฆฌ๋“€์Šค๋ฅผ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•˜๊ณ ์ž ํ•จ ์†Œ์…œ ๋„คํŠธ์›Œํฌ ํ†ต๊ณ„ ๋ฐฉ์•ˆ ์› ๋ฐ์ดํ„ฐ๋ฅผ ์—์ง€๋กœ๋งŒ ํ‘œํ˜„ ๊ฐ ๋งต ํ•จ์ˆ˜์—์„œ๋Š” ๋‚˜๋ˆ„์–ด์ง„ ์—์ง€์˜ ์ˆœ์„œ์Œ์—์„œ ์–ป์€ ๊ฐ’์ธ ๋ชฉ์  ๋…ธ๋“œ ID๋กœ ๊ทธ๋ฃนํ•‘ํ•จ ์ถœ๋ ฅ ์ •๋ณด๋ฅผ ๋‹ค์‹œ ์ˆœ์„œ์Œ์œผ๋กœ ํ‘œํ˜„ -> ๋งต ํ•จ์ˆ˜..

[BigData] ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ธฐ์ˆ 

๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ธฐ์ˆ  ? ๊ธฐ์กด์˜ ๋ฐ์ดํ„ฐ ๋ถ„์„์— ๋” ๋‚˜์•„๊ฐ€, ๋Œ€๊ทœ๋ชจ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜์—ฌ ๋ณด๋‹ค ๋†’์€ ์ •ํ™•์„ฑ์„ ํ™•๋ณดํ•˜๋Š” ๊ธฐ์ˆ  ๋ถ„์‚ฐ ์‹œ์Šคํ…œ์ƒ์—์„œ๋Š” ๋ถ„์„ ๊ธฐ์ˆ ์„ ์ ์šฉํ•˜์—ฌ, ๋น…๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๋Š” ์ ˆ์ฐจ๋ฅผ ๊ฑฐ์นจ ๊ธฐ์กด์˜ ๋ถ„์„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์—ฌ๋Ÿฌ ๋Œ€์˜ ๋ถ„์‚ฐ ๋…ธ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ถ„์‚ฐ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ธฐ์กด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ณ€ํ˜•ํ•˜๊ธฐ๋„ ํ•จ ํ•˜๋‘ก, ์ŠคํŒŒํฌ ๋“ฑ์˜ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์‹œ์Šคํ…œ์—์„œ ์—ฌ๋Ÿฌ ๋ถ„์„ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ณ ์†์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ ๋‹ค์–‘ํ•œ ๋„๋ฉ”์ธ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์˜๋ฏธ ์žˆ๋Š” ๊ฒฐ๊ณผ๋ฅผ ๋„์ถœํ•˜๋Š” ๊ฒƒ์„ ๋ชฉ์ ์œผ๋กœ ํ•จ ๋น…๋ฐ์ดํ„ฐ ๋ถ„์„ ๊ธฐ์ˆ ์˜ ์ข…๋ฅ˜ ๋ถ„๋ฅ˜(Classfication) : ์ผ์ •ํ•œ ์ง‘๋‹จ์—์„œ ํŠน์ •ํ•œ ์ •์˜๋ฅผ ์ด์šฉํ•˜์—ฌ ๋ถ„๋ฅ˜๋ฅผ ์ถ”๋ก ํ•จ ์˜ˆ์ธก(Forecasting) : ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ ์ง‘ํ•ฉ์˜ ํŒจํ„ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฏธ๋ž˜๋ฅผ ์˜ˆ์ธก ์‹œ๊ณ„์—ด ๋ถ„์„(Time-S..

[BigData] Spark ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, RDD

RDD(Resilient Distributed Dataset) ? ์ธ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐฉ์‹์„ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ์ตœ์ดˆ์— Disk์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์–ด์˜จ ๋’ค, ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ์—ฌ๋Ÿฌ ๋ฒˆ์˜ ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์—ฐ์‚ฐ(operation)์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์—ฐ์‚ฐ ํ•จ์ˆ˜ ์ œ๊ณต RDD ํŠน์„ฑ In-memory Computation RDD์—์„œ ์ œ๊ณตํ•˜๋Š” operation์€ ์—ฐ์‚ฐ์˜ ์ค‘๊ฐ„ ๊ฒฐ๊ณผ๋ฅผ ๋””์Šคํฌ์— ์ €์žฅํ•˜์ง€ ์•Š๊ณ , ๋ฉ”๋ชจ๋ฆฌ์ƒ์— ์ƒ์ฃผ์‹œํ‚ด Transformations : RDD์—์„œ ๋‹ค๋ฅธ RDD๋ฅผ ๋งŒ๋“œ๋Š” ๋ณ€ํ˜• ์—ฐ์‚ฐ Actions : RDD์˜ ์ตœ์ข… ์—ฐ์‚ฐ์œผ๋กœ RDD์—์„œ RDD๊ฐ€ ์•„๋‹Œ data๋กœ ์ €์žฅ Immutable RDD๋Š” ํ•œ ๋ฒˆ ๋งŒ๋“ค์–ด์ง€๋ฉด ๋‚ด์šฉ ๋ณ€ํ˜•์ด ํ—ˆ์šฉ๋˜์ง€ ์•Š์Œ Lineage RDD์˜ transformation์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ๋ชจ๋“  RDD..

[BigData] Spark(์ŠคํŒŒํฌ)

Spark ? UC Berkely AMPLab์—์„œ ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ Disk ๊ธฐ๋ฐ˜์˜ Hadoop ์ฒ˜๋ฆฌ ๋ฐฉ์‹์„ ๊ฐœ์„ ํ•˜์—ฌ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋†’์ž„ ์ธ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋Œ€์šฉ๋Ÿ‰ ๊ณ ์† ์ฒ˜๋ฆฌ ์—”์ง„ RDD ๋ฐฉ์‹์˜ ์ธ๋ฉ”๋ชจ๋ฆฌํ˜• ์ž๋ฃŒ ๊ตฌ์กฐ ์ œ๊ณต ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ ๋ฐ ์‹ค์‹œ๊ฐ„ ์ฒ˜๋ฆฌ ๋ชจ๋‘ ์ง€์› SQL ๋ฐฉ์‹์˜ ์ •ํ˜• ๋ฐ์ดํ„ฐ๋ฟ ์•„๋‹ˆ๋ผ ๋น„์ •ํ˜• ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ชจ๋‘ ์ง€์› Spark ์„ค๊ณ„ ์ฒ ํ•™ ๊ณ ์†์ฒ˜๋ฆฌ Hadoop์—์„œ์˜ ๋””์Šคํฌ I/O๋กœ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ์„ฑ๋Šฅ ์ง€์—ฐ์˜ ๋ฌธ์ œ์ ์„ ๊ฐœ์„ ํ•ด ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋Œ€ํญ ๋†’์ž„ ํ†ตํ•ฉ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์—”์ง„ SQL ๋ฐ์ดํ„ฐ, ์ŠคํŠธ๋ฆผ, ๋จธ์‹ ๋Ÿฌ๋‹, ๊ทธ๋ž˜ํ”„ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ํ†ตํ•ฉ๋œ ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ ๊ธฐ์กด ๋ณต์žกํ•œ ํ”„๋ ˆ์ž„์›Œํฌ ์—ฐ๋™ ๋ฌธ์ œ ๊ฐœ์„  ๊ฒฐํ•จ ํ—ˆ์šฉ์„ฑ ๋ฉ”๋ชจ๋ฆฌ ๊ธฐ๋ฐ˜์˜ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜..

[BigData] MapReduce(๋งต๋ฆฌ๋“€์Šค) ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ

MapReduce ? Hadoop ์‹œ์Šคํ…œ์—์„œ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ Map, Reduce์˜ 2๊ฐœ์˜ phase๋กœ ๊ตฌ์„ฑ key, value ํ˜•ํƒœ์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜ Map ๋‹จ๊ณ„์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ key, value ์Œ์œผ๋กœ ๋ณ€ํ™˜ Reduce ๋‹จ๊ณ„์—์„œ key, value๋กœ ๋ณ€ํ™˜๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ง‘๊ณ„ํ•˜๊ณ  ์ตœ์ข… ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒฐ์ • MapReduce ๋™์ž‘ ์ˆœ์„œ Input : ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ ์ค€๋น„ํ•˜๋Š” ๋‹จ๊ณ„ Split : ์›๋ณธ ๋ฐ์ดํ„ฐ๋ฅผ HDFS๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋‹จ๊ณ„ Map : ๋ฐ์ดํ„ฐ๋ฅผ key, value ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฐ์‚ฐํ•˜๋Š” ๋‹จ๊ณ„ Shuffle : key๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž„์˜๋กœ ํฉ์–ด์กŒ๋˜ ๋ฐ์ดํ„ฐ๋ฅผ hashingํ•˜๋Š” ๋‹จ๊ณ„ Reduce : Map์—์„œ ์—ฐ์‚ฐ๋œ ๊ฒฐ๊ณผ๋ฅผ key๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์—ฐ์‚ฐํ•˜๋Š” ๋‹จ๊ณ„ Merge : ..

[BigData] Hadoop ํ•˜๋‘ก

Hadoop ? ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” JAVA ๊ธฐ๋ฐ˜์˜ ์˜คํ”ˆ์†Œ์Šค ํ”„๋ ˆ์ž„์›Œํฌ ๋ถ„์‚ฐํŒŒ์ผ(HDFS)์™€ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ชจ๋ธ(MapReduce)์„ ์ œ๊ณต ๋ฐ์ดํ„ฐ๋ฅผ ๋ฏธ๋ฆฌ HDFS ํ˜•ํƒœ๋กœ ์ž˜๊ฒŒ ์ชผ๊ฐœ์–ด ์ €์žฅ์‹œ์ผœ ๋†“์€ ๋’ค, MapReduce๋ฅผ ์ด์šฉํ•ด ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ Hadoop์„ ์ด์šฉํ•˜๋ฉด ๋‹ค์ˆ˜์˜ ์ปดํ“จํŒ… ๋…ธ๋“œ๋ฅผ ๋งˆ์น˜ ํ•˜๋‚˜์˜ ์ปดํ“จํ„ฐ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ถ„์‚ฐ์‹œ์Šคํ…œ์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ์— ์ตœ์ ํ™”๋˜์–ด ์„ค๊ณ„๋จ Hadoop ์˜ ์„ค๊ณ„ ์ฒ ํ•™ Fault tolerance (๊ฒฐํ•จ ํ—ˆ์šฉ์„ฑ) ์‹œ์Šคํ…œ ์ˆ˜ํ–‰ ์ค‘ ๊ฒฐํ•จ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„, ๊ฒฐํ•จ์„ ๊ทน๋ณตํ•˜๊ณ  ๊ณ„์†์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์„ค๊ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ์—ฌ๋Ÿฌ ๊ณณ์— ๋ณต์ œํ•ด๋†“์•„ ํŠน์ • ๋…ธ๋“œ์— ์†์ƒ์ด ๋ฐœ์ƒํ•˜๋”๋ผ๋„ ์ž‘์—…์„ ๊ณ„์†์ ์œผ๋กœ ์ด์–ด๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์Œ Scalability (ํ™•์žฅ์„ฑ) ๋…ธ๋“œ๋ฅผ ํ™•์žฅ..

[BigData] HDFS (Hadoop File System)

HDFS (Hadoop File System) GFS๋ฅผ ๋ชจ๋ธ๋กœ ์„ค๊ณ„ ๋ฌผ๋ฆฌ์  ์‹œ์Šคํ…œ์˜ ์‹คํŒจ๋ฅผ ์†Œํ”„ํŠธ์›จ์–ด ๋ ˆ๋ฒจ์—์„œ ํ•ด๊ฒฐํ•˜์—ฌ, ์‹œ์Šคํ…œ์˜ ๊ฐ€์šฉ์„ฑ์„ ๋†’์ด๋Š” ๋ถ„์‚ฐ ํŒŒ์ผ ์‹œ์Šคํ…œ HDFS์˜ ํŠน์ง• ์ปดํ“จํ„ฐ ๋„คํŠธ์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•ด ๋‹ค์ˆ˜์˜ ๋…ธ๋“œ์— ๊ฑธ์ณ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅ ๋ฐ์ดํ„ฐ์˜ ์žฅ์•  ํ—ˆ์šฉ์„ ์œ„ํ•ด ์ค‘๋ณต ํ—ˆ์šฉ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ 3๊ฐœ ๋ณต์ œํ•ด ๋ณต์‚ฌ๋ณธ์„ ๋‘  3๊ฐœ์˜ ๋ธ”๋ก์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋…ธ๋“œ์— ๋ณต์ œ ํŽ˜ํƒ€๋ฐ”์ดํŠธ ์ด์ƒ์˜ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ์Œ -> ์ˆ˜ํ‰์  ํ™•์žฅ ๊ตฌ์กฐ๋กœ ์„ค๊ณ„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ณธ 128MB์˜ ๋ธ”๋ก์œผ๋กœ ๋‚˜๋ˆ” HDFS์˜ ์•„ํ‚คํ…์ณ ๋„ค์ž„๋…ธ๋“œ (ํŒŒ์ผ ์‹œ์Šคํ…œ ๊ด€๋ฆฌ) ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์†ํ•˜๋Š” ํŒŒ์ผ ๊ณ„์ธต ๊ตฌ์กฐ๋‚˜, ๊ฐ ํŒŒ์ผ์˜ ๋ธ”๋ก ์œ„์น˜๋ฅผ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๋กœ ์œ ์ง€ ๋ฐ์ดํ„ฐ ํŒŒ์ผ์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ ‘์† ๊ด€๋ฆฌ ๋ธ”๋ก ๋ฐ์ดํ„ฐ๋ฅผ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ฐ์ดํ„ฐ๋…ธ๋“œ์— ๋งตํ•‘ ๋ฐ์ด..