Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

๋”ฐ๋ผํ•˜๋ฉฐ ๋ฐฐ์šฐ๋Š” ์‹ค์ „ ์ŠคํŒŒํฌ Part1

์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ๊ธฐ์—…์˜ ์•„ํŒŒ์น˜ ์ŠคํŒŒํฌ ํ”„๋กœ์ ํŠธ๋ฅผ ๋ฐ”๋กœ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋  ๊ฒ๋‹ˆ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง, Apache Spark] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ์ŠคํŒŒํฌ ๊ธฐ๋ฐ˜ ํ•ต์‹ฌ ๋ช…๋ น ์‚ฌ์šฉ๋ฒ•

  • ์ŠคํŒŒํฌ ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธ์Šค

๋”ฐ๋ผํ•˜๋Š” ์‹ค์ „ Spark Part 1

๊ฐ•์˜ ์†Œ๊ฐœ

"๋”ฐ๋ผํ•˜๋Š” ์‹ค์ „ Spark Part 1"์€ ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธ์Šค๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ํ•™์Šต์ž๋ถ€ํ„ฐ Spark๋ฅผ ํ™œ์šฉํ•œ ์‹ค๋ฌด ํ”„๋กœ์ ํŠธ๋ฅผ ์ค€๋น„ํ•˜๋Š” ์‹ค๋ฌด์ž๊นŒ์ง€ ๋ชจ๋‘๋ฅผ ๋Œ€์ƒ์œผ๋กœ ์„ค๊ณ„๋œ ์‹ค์ „ ์ค‘์‹ฌ์˜ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค. ์ด ๊ฐ•์˜๋Š” Spark์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๋ถ€ํ„ฐ ์‹ค๋ฌด ํ™œ์šฉ๋ฒ•๊นŒ์ง€ ์ฒด๊ณ„์ ์œผ๋กœ ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฉฐ, ํŠนํžˆ Spark ํ”„๋กœ์ ํŠธ ์ˆ˜ํ–‰์— ํ•„์ˆ˜์ ์ธ ๋ช…๋ น์–ด์™€ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ์ค‘์ ์ ์œผ๋กœ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

@Apache Spark, @๋น…๋ฐ์ดํ„ฐ, @๋จธ์‹ ๋Ÿฌ๋‹, @๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด๋ง, @๋ฐ์ดํ„ฐ ํŠธ๋žœ์Šคํฌ๋ฉ”์ด์…˜

๊ฐ•์˜ ๋ชฉํ‘œ

  • Spark์˜ ๊ธฐ๋ณธ ์›๋ฆฌ์™€ ํ™˜๊ฒฝ ์„ค์ •: Spark์˜ ๋™์ž‘ ์›๋ฆฌ์™€ ํ™˜๊ฒฝ ๊ตฌ์„ฑ ๋ฐฉ๋ฒ•์„ ์ตํ˜€ ๋กœ์ปฌ ๋ฐ Docker ํ™˜๊ฒฝ์—์„œ ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ์ตœ์ ํ™”: Spark์˜ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ๊ฐœ๋…๊ณผ ๋ฐ์ดํ„ฐ ํŒŒํ‹ฐ์…˜, ์…”ํ”Œ, ํด๋Ÿฌ์Šคํ„ฐ ๋ฆฌ์†Œ์Šค ๊ตฌ์„ฑ ๋“ฑ์„ ์‹ค์Šตํ•˜๋ฉฐ, ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์˜ ๊ธฐ์ดˆ๋ฅผ ๋‹ค์ง‘๋‹ˆ๋‹ค.

  • ์‹ค๋ฌด ์ค‘์‹ฌ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ธฐ์ˆ  ์Šต๋“: ๋‹ค์–‘ํ•œ Spark ๋ช…๋ น์–ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œ, ๋ณ€ํ™˜, ํ•„ํ„ฐ๋ง, ์กฐํ•ฉํ•˜๋ฉฐ, ๊ณ ๊ธ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ธฐ๋ฒ•์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ ๋ถ„์„๊ณผ ์‹œ๊ฐํ™” ๋Šฅ๋ ฅ ๋ฐฐ์–‘: Spark์˜ ๋ฐ์ดํ„ฐ ํ”„๋ ˆ์ž„๊ณผ SQL ๋ช…๋ น์„ ํ™œ์šฉํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ , ๊ฒฐ๊ณผ๋ฅผ ์‹œ๊ฐํ™”ํ•ฉ๋‹ˆ๋‹ค.


์ปค๋ฆฌํ˜๋Ÿผ ๊ตฌ์„ฑ

  1. ์˜ค๋ฆฌ์—”ํ…Œ์ด์…˜

    • Spark์˜ ๊ฐœ๋…๊ณผ ์‹ค๋ฌด ํ™œ์šฉ ๊ฐ€๋Šฅ์„ฑ์„ ์†Œ๊ฐœํ•˜๊ณ , ํ•™์Šต ๋ฐฉํ–ฅ์„ ์ œ์‹œํ•ฉ๋‹ˆ๋‹ค.

  2. Spark ํ™˜๊ฒฝ ๊ตฌ์„ฑ

    • ๋กœ์ปฌ ํ™˜๊ฒฝ ๋ฐ Docker๋ฅผ ํ™œ์šฉํ•œ Spark ์„ค์น˜์™€ ์„ค์ • ๋ฐฉ๋ฒ•์„ ์ตํ˜€ ์‹ค์Šต ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  3. ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ ๊ฐœ๋…

    • Spark๊ฐ€ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹๊ณผ ๋ถ„์‚ฐ ์ฒ˜๋ฆฌ์˜ ๊ธฐ๋ณธ ์›๋ฆฌ๋ฅผ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.

  4. Spark ๋™์ž‘ ์ดํ•ด

    • Lazy Operation, ํŒŒํ‹ฐ์…˜, ์…”ํ”Œ ๋“ฑ์˜ ํ•ต์‹ฌ ๋™์ž‘ ์›๋ฆฌ๋ฅผ Jupyter Notebook๊ณผ Spark UI๋ฅผ ํ†ตํ•ด ์‹œ๊ฐ์ ์œผ๋กœ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค.

  5. ์‹ค์ „ Spark ํ•„์ˆ˜ ๋ช…๋ น์–ด

    • ๋ฐ์ดํ„ฐ ๋กœ๋”ฉ, ๋‚ ์งœ ํ•„ํ„ฐ๋ง, join, aggregation, UDF ํ™œ์šฉ, ๋ฐ์ดํ„ฐ ์ €์žฅ ๋“ฑ ์‹ค๋ฌด์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ๋ช…๋ น์–ด๋ฅผ ์ตํž™๋‹ˆ๋‹ค.

    • SQL ๋ช…๋ น์„ ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

  6. ๊ณ ๊ธ‰ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ

    • ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ, null ๊ฐ’ ์ฒ˜๋ฆฌ, JSON ๋ฐ์ดํ„ฐ ๋‹ค๋ฃจ๊ธฐ, ํŒŒํ‹ฐ์…˜ ์ตœ์ ํ™” ๋“ฑ ์‹ค๋ฌด์—์„œ ํ”ํžˆ ์ ‘ํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ณ ๊ธ‰ ๊ธฐ์ˆ ์„ ํ•™์Šตํ•ฉ๋‹ˆ๋‹ค.


๋ˆ„๊ตฌ๋ฅผ ์œ„ํ•œ ๊ฐ•์˜์ธ๊ฐ€์š”?

  • Spark์˜ ๊ธฐ๋ณธ๋ถ€ํ„ฐ ์‹ค์ „ ํ™œ์šฉ๋ฒ•๊นŒ์ง€ ๋ฐฐ์šฐ๊ณ ์ž ํ•˜๋Š” ์ดˆ๋ณด ํ•™์Šต์ž

  • Spark๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ๋ถ„์„ ๋ฐ ์—”์ง€๋‹ˆ์–ด๋ง ๊ธฐ์ˆ ์„ ์ตํžˆ๊ณ ์ž ํ•˜๋Š” ๋ฐ์ดํ„ฐ ์—”์ง€๋‹ˆ์–ด

  • ๊ธฐ์—…์˜ Spark ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ฑฐ๋‚˜ ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜๊ณ ์ž ํ•˜๋Š” ์‹ค๋ฌด ์ „๋ฌธ๊ฐ€


์ˆ˜๊ฐ• ํ›„ ๊ธฐ๋Œ€ ํšจ๊ณผ

  • Spark๋ฅผ ํ™œ์šฉํ•œ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์™€ ๋ถ„์„ ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ”๊ณ , ๊ธฐ์—…์—์„œ์˜ Spark ํ”„๋กœ์ ํŠธ ์ˆ˜ํ–‰ ์—ญ๋Ÿ‰์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์‹ค๋ฌด์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋กœ๋“œ, ๋ณ€ํ™˜, ์ €์žฅํ•˜๋ฉฐ ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋…ธํ•˜์šฐ๋ฅผ ์Šต๋“ํ•ฉ๋‹ˆ๋‹ค.

  • Part 2์—์„œ ๋‹ค๋ฃฐ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์˜ Spark ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ๊ธฐ์ดˆ๋ฅผ ํ™•์‹คํžˆ ๋‹ค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


Spark๋ฅผ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๊ฑฐ๋‚˜, ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์˜ ์‹ค๋ฌด์ ์ธ ์Šคํ‚ฌ์„ ์ตํžˆ๊ณ ์ž ํ•œ๋‹ค๋ฉด "๋”ฐ๋ผํ•˜๋Š” ์‹ค์ „ Spark Part 1"์€ ์™„๋ฒฝํ•œ ์ถœ๋ฐœ์ ์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์‚ฌ์ด์–ธ์Šค์˜ ์„ธ๊ณ„๋กœ ํ•จ๊ป˜ ๋‚˜์•„๊ฐ€์„ธ์š”! ๐ŸŽ“โœจ

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ์ŠคํŒŒํฌ๋ฅผ ์ฒ˜์Œ ์ ‘ํ•˜๋Š” ์‚ฌ๋žŒ

  • ์ŠคํŒŒํฌ ๊ธฐ์—… ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ์‹ถ์€ ์‚ฌ๋žŒ

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • ํŒŒ์ด์ฌ ๊ธฐ์ดˆ(์•„์ฃผ ๋‚ฎ์€ ์ˆ˜์ค€)

์•ˆ๋…•ํ•˜์„ธ์š”
๋ฐ์ด๋น„๋“œ์ตœ์ž…๋‹ˆ๋‹ค.

ํ˜„์žฌ ๋Œ€๊ธฐ์—… ์ค‘์‹ฌ์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์€ ํ”„๋กœ์ ํŠธ์˜ ๊ฐœ๋ฐœ์ฑ…์ž„ ๋ฐ ์ปจ์„คํŒ…์„ ๋งก๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์—ญ^^์ž…๋‹ˆ๋‹ค.

๋”๋ถˆ์–ด, ๊ณ ๋ ค๋Œ€ ๋Œ€ํ•™์›์—์„œ ์ธ๊ณต์ง€๋Šฅ ๊ด€๋ จ ๊ฒธ์ž„๊ต์ˆ˜๋กœ๋„ ํ™œ๋™ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ €์˜ ๋ชฉํ‘œ๋Š” ์‹ค์ „์— ๋ฐ”๋กœ ์จ๋จน์„ ์ˆ˜ ์žˆ๋Š” ํ˜„์žฅ๊ฐ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์•ž์œผ๋กœ ๋งŽ์€ ์—ฌ๋Ÿฌ๋ถ„๊ณผ ํ•จ๊ป˜ ์žฌ๋ฏธ๋‚œ ์ˆ˜์—… ๋งŒ๋“ค์–ด ๋‚˜๊ฐ€๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

  • ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ธ๊ณต์ง€๋Šฅ ๊ตฌ์กฐ ๋ฐ ์„œ๋น„์Šค ์„ค๊ณ„

  • ๋จธ์‹ ๋Ÿฌ๋‹ ์„œ๋น„์Šค ๊ตฌํ˜„

  • ๋ฒก์—”๋“œ ์„œ๋น„์Šค ๊ฐœ๋ฐœ

  • ํด๋ผ์šฐ๋“œ(Azure) Databricks, ETL, Fabric ๋“ฑ ๊ฐ์ข… ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์ถ• ๋ฐ ์„œ๋น„์Šค ๊ฐœ๋ฐœ

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

48๊ฐœ โˆ™ (9์‹œ๊ฐ„ 57๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!