๐Ÿ“’ Today I Learn

240718 Today I Learn์ŠคํŒŒํฌ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐLazy CompuationSpark๋Š” ๋ฐ”๋กœ๋ฐ”๋กœ ์ฃผ์–ด์ง„ ๋ณ€ํ™˜Transformation์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ , ์—ฌ๋Ÿฌ ๋ณ€ํ™˜๋“ค์„ ์ฐจ๊ณก์ฐจ๊ณก ์Œ“์•„๋‘” ๋’ค, ํ•œ ๋ฒˆ์— ์ตœ์ ํ™”ํ•˜์—ฌ ์ˆ˜ํ–‰๋ฏธ๋ฃจ์–ด๋‘” ์ผ์ด ์Œ“์ธ ๊ฒƒ์„ Lineage๋ผ๊ณ  ํ•˜๋Š”๋ฐ, ์ „์ฒด ๋ณ€ํ™˜์„ ๋ณด๊ณ  ์ค‘๊ฐ„์— ํ•„์š”์—†๋Š” ์—ฐ์‚ฐ์€ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด ๊ณ ์˜์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ์ง€์—ฐ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๋‹ค.๋ณ€ํ™˜์ด ์Œ“์ธ Lineage๋ฅผ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๊ตฌ๋™Triggerํ•˜๋Š” ์ž‘์—…๋“ค์„ Action์ด๋ผ๊ณ  ํ•จ.→ count, collect, take, top, show, write, toDF ๋“ฑ๋ถ„์‚ฐ์ฒ˜๋ฆฌ์™€ PartitionPartition : ๋ชจ๋“  executer๊ฐ€ ๋ณ‘๋ ฌ๋กœ ์ผํ•  ์ˆ˜ ์žˆ๋„๋ก ์ชผ๊ฐ  ๋ฐ์ดํ„ฐ์˜ ๋‹จ์œ„ํŒŒํ‹ฐ์…˜์„ ์ง์ ‘ ์กฐ์ž‘ํ•ด ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒํ‹ฐ์…˜์— ๊ฐ•์ œ๋กœ ๋ฐฐ์ •ํ• ..
240718 Today I Learn์ง€ํ‘œ๋ฅผ ์™œ ์•Œ์•„์•ผ ํ• ๊นŒ?๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€๋Š” ๊ฐ๊ด€์ ์œผ๋กœ ๋ฐ์ดํ„ฐ์™€ ์ƒํ™ฉ์„ ์„ค๋ช…ํ•˜๊ธฐ ์œ„ํ•ด ์ˆ˜์น˜๋กœ ๋œ ์ž๋ฃŒ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•˜๊ฒŒ ๋˜๊ณ , ์ด๋Š” ๊ณง ์ง€ํ‘œ(= ์ •๋Ÿ‰์  ๋ฐ์ดํ„ฐ)์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€๋Š” ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ๋ฉด ๋ชฉ์ ์— ๋งž๋Š” ์ง€ํ‘œ๋ฅผ ์ •์˜ํ•˜๊ณ  ๋งŒ๋“ค์–ด๋‚ธ ์ˆ˜์น˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ด์„ํ•˜๊ณ  ์ „๋‹ฌํ•˜๋Š” ์—…๋ฌด๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋งŒ๋“ค์–ด์ง„ ์ง€ํ‘œ๋“ค์„ ๋ชจ์•„์„œ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ํ•„์š”ํ•  ๋•Œ ์ฆ‰์‹œ ํ™œ์šฉํ•ด์•ผํ•˜๊ณ  ์ง€์†์ ์ธ ํ™œ์šฉ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ์ œ์ž‘ํ•˜๊ฒŒ ๋จ.๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ๊ณผ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋ฐ์ดํ„ฐ ๋ถ„์„๊ฐ€๋Š” ์–ด๋Š์ •๋„๋กœ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ์„ ์ดํ•ดํ•ด์•ผ ํ• ๊นŒ?์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ดํ•ด : ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„๊ณผ ๋ฐ์ดํ„ฐ ๋ถ„์„์ด ๊ฐœ์ž…ํ•  ์ˆ˜ ์žˆ๋Š” ์ง€์ ์— ๋Œ€ํ•œ ๋ถ€๋ถ„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.๋‹ค์–‘ํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ๋ชจ๋ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๋ฉฐ ๋˜ ๋‹ค๋ฅธ ๊ธฐํšŒ๋ฅผ ์ฐฝ์ถœํ•  ์ˆ˜ ์žˆ..
240717 Today I Learn๋ณ‘๋ ฌ์ฒ˜๋ฆฌ์™€ ๋ถ„์‚ฐ์ฒ˜๋ฆฌ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ vs. ๋ถ„์‚ฐ์ฒ˜๋ฆฌ๋ณ‘๋ ฌ์ฒ˜๋ฆฌ : ์—ฌ๋Ÿฌ๊ฐœ์˜ core์—์„œ ๋™์‹œ ๋‹ค๋ฐœ์ ์œผ๋กœ ์ผ์„ ๋‚˜๋ˆ„์–ด์„œ ์ฒ˜๋ฆฌMultiprocessing์ด๋‚˜ joblib์ด ํ”ํžˆ ์‚ฌ์šฉ.sklearn์˜ njobs๊ฐ€ ์ด๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ธฐ๋Šฅ.๋ถ„์‚ฐ์ฒ˜๋ฆฌ : ๋„คํŠธ์›Œํฌ๋ฅผ ํ†ตํ•ด ์—ฐ๊ฒฐ๋œ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์ปดํ“จํ„ฐ(๋…ธ๋“œ)๊ฐ€ ๊ฐ๊ฐ์˜ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒSpark๋ฅผ ํฌํ•จํ•ด Ray, Dask ๋“ฑ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ.๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ vs Vectorize๐Ÿ’ก ํ•œ ๊ธฐ๊ธฐ์˜ ๋ฉ”๋ชจ๋ฆฌ ์•ˆ์—์„œ ์ฒ˜๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ๊ทœ๋ชจ๋ผ๋ฉด, ๊ตณ์ด Spark๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค๋Š” ์—ฐ์‚ฐ์„ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚ซ๋‹ค.Numpy(Pandas ํฌํ•จ)๋Š” ๋ฒกํ„ฐํ™” ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋‹จ์ˆœ ๋ฐ˜๋ณต์ž‘์—…์„ ๊ต‰์žฅํžˆ ๋น ๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Œ.์ŠคํŒŒํฌ์—์„œ๋„ ๊ฐœ๋ณ„ ๋จธ์‹ ์€ ๋ฒกํ„ฐํ™”๋ฅผ ์ˆ˜ํ–‰ํ•˜์—ฌ ์†๋„๋ฅผ..
240715 Today I Learn์ŠคํŒŒํฌ๋ž€?๐Ÿ’ฅ Spark?SQL, ์ŠคํŠธ๋ฆฌ๋ฐ, ๋จธ์‹ ๋Ÿฌ๋‹ ๋ฐ ๊ทธ๋ž˜ํ”„ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ๊ธฐ๋ณธ ์ œ๊ณต ๋ชจ๋“ˆ์ด ์žˆ๋Š” ๋Œ€๊ทœ๋ชจ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ์šฉ ํ†ตํ•ฉ ๋ถ„์„ ์—”์ง„. ํด๋ผ์šฐ๋“œ์˜ Apache Hadoop, Apache Mesos, Kubernetes์—์„œ ์ž์ฒด์ ์œผ๋กœ ์‹คํ–‰๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค์— ๋Œ€ํ•ด ์‹คํ–‰๋  ์ˆ˜ ์žˆ์Œ.→ ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์— ํŠนํ™”๋œ ํ”„๋ ˆ์ž„ ์›ŒํฌํŒŒ์ด์ฌ๊ณผ ๋ฐ์ดํ„ฐ๋ฉ”๋ชจ๋ฆฌ RAM  = ์ž‘์—… ๊ณต๊ฐ„๊ธฐ์–ต๋œ ์ •๋ณด๋ฅผ ์ฝ์–ด๋‚ด๊ธฐ๋„ ํ•˜๊ณ  ๋‹ค๋ฅธ ์ •๋ณด๋ฅผ ๊ธฐ์–ต์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋กœ์„œ, ์ปดํ“จํ„ฐ์˜ ์ฃผ๊ธฐ์–ต์žฅ์น˜, ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์ผ์‹œ์  ๋กœ๋”ฉ(loading), ๋ฐ์ดํ„ฐ์˜ ์ผ์‹œ์  ์ €์žฅ ๋“ฑ์— ์‚ฌ์šฉ๋จ.์ปดํ“จํ„ฐ๋ฅผ ๋„๋ฉด RAM์— ์˜ฌ๋ผ๊ฐ„ ๋ฐ์ดํ„ฐ๋Š” ์‚ญ์ œ SSD = ์ €์žฅ ๊ณต๊ฐ„์žฅ๊ธฐ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด๊ด€(์ €์žฅ)ํ•˜๋Š” ๊ณต๊ฐ„์ปดํ“จํ„ฐ..
240702 Today I Learn์›Œํฌ ์‹œํŠธ์— ์—ฌ๋Ÿฌ ์ธก์ •๊ฐ’ ํ™œ์šฉํ•˜๊ธฐ์ธก์ •๊ฐ’ ์ง๋ ฌ ๋ฐฐ์น˜์ธก์ •๊ฐ’์„ ๋‹จ์ˆœํ•˜๊ฒŒ ํ–‰์— ์—ฌ๋Ÿฌ ๊ฐœ ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ• ๊ฐ๊ฐ์˜ ์ธก์ •๊ฐ’์— ๋‹ค๋ฅธ ์ฐจํŠธ ํ˜•์‹๊ณผ ๋งˆํฌ ์„œ์‹์„ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Œ.์ด์ค‘์ถ• ํ™œ์šฉ์ด์ค‘์ถ• ์ฐจํŠธ๋Š” ๋‹ค๋ฅธ ์œ ํ˜•์˜ ์ธก์ •๊ฐ’์„ ํ•˜๋‚˜์˜ ์ฐจํŠธ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ ์‚ฌ์šฉ๋œ๋‹ค.ํ™œ์šฉ ๋ฐฉ๋ฒ• : ๋ฐ”+๊บพ์€์„  ๊ทธ๋ž˜ํ”„, ๋„๋„› ์ฐจํŠธ์ถ”๊ฐ€์ ์ธ ์ถ• ํ™œ์šฉ์ฐจ์› ๋จธ๋ฆฌ๊ธ€ ํ™œ์šฉ๋ณ„์นญ ํŽธ์ง‘: ๋ฐ์ดํ„ฐ์— ์žˆ๋Š” ๋ช…์นญ ์™ธ์— ๋‹ค๋ฅธ ์ด๋ฆ„์„ ๋ถ€์—ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉ→ ์ธก์ •๊ฐ’ ์ด๋ฆ„์ด ๋„ˆ๋ฌด ๊ธธ๋ฉด ๋ณ„์นญ ํŽธ์ง‘์œผ๋กœ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Œ.๋ ˆ์ด๋ธ” ํšŒ์ „์€ ์ฃผ๋กœ ๊ณต๊ฐ„ ๋•Œ๋ฌธ์— ๋ฌธ์ž๊ฐ€ ์„ธ๋กœ๋กœ ํ‘œ์‹œ๋  ๋•Œ ๊ฐ€๋กœ๋กœ ์ „ํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ์ธก์ •๊ฐ’ ์ถ• ํ™œ์šฉ์ธก์ •๊ฐ’์€ ์ถ• ํŽธ์ง‘์„ ํ†ตํ•ด ๋ฒ”์œ„๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ→ ์ธก์ •๊ฐ’ ์•ˆ์— ๋ฌถ์—ฌ ์žˆ์„ ๋•Œ ์ถ•์„ ๋™์ผํ•œ ๋ฒ”์œ„๋กœ ๋งŒ๋“ค๊ฑฐ๋‚˜ ๋…๋ฆฝ์ ์ธ ์ถ• ๋ฒ”์œ„๋ฅผ ๋ถ€์—ฌํ• ..
240702 Today I Learn๋ฌธ์ œ ์ƒํ™ฉ๐Ÿ“Œ ์ฃผ์š” ์ง€ํ‘œ(์ˆ˜์ต, ๋งค์ถœ, ์ˆ˜์ต๋ฅ , ์ฃผ๋ฌธ์ˆ˜, ๊ณ ๊ฐ์ˆ˜)์˜ MoM์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ฐจํŠธ๋ฅผ ๊ทธ๋ ค๋ผ.์šฐ์„  ์šฐ๋ฆฌ๊ฐ€ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ธ, ๋ชจ๋“  ์ง€ํ‘œ๋ฅผ ์ธก์ •๊ฐ’์œผ๋กœ ๊ฐ๊ฐ ์ถ”๊ฐ€ํ•ด ์ง€ํ‘œ์˜ ๊ฐœ์ˆ˜๋งŒํผ์˜ ์ฐจํŠธ๋ฅผ ํ•˜๋‚˜์˜ ๊ทธ๋ž˜ํ”„์— ๋‚˜ํƒ€๋‚ด๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค. ์ด ๋ฐฉ๋ฒ•์œผ๋กœ ๊ทธ๋ฆฐ ์ฐจํŠธ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.์›Œํฌ์‹œํŠธ์—์„œ๋งŒ ์ž‘์—…์„ ํ•ด๋ด๋„ ์ด ๋ฐฉ๋ฒ•์€ ์ƒ๋‹นํžˆ ๋ถˆํŽธํ•œ ๋ฐฉ๋ฒ•์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์šฐ์„  ์ฃผ์š” ์ง€ํ‘œ๋ฅผ ๋ชจ๋‘ ์ธก์ •๊ฐ’์œผ๋กœ ์ถ”๊ฐ€ํ•ด ํ€ต ํ…Œ์ด๋ธ” ๊ณ„์‚ฐ์„ ํ•ด์ฃผ๊ณ  ์ƒ‰์ƒ๊ฐ’ ์—ญ์‹œ ์„œ์‹์„ ๋”ฐ๋กœ ์ง€์ •ํ•ด์ค˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด ์ฐจํŠธ๋ฅผ ๋Œ€์‹œ๋ณด๋“œ์— ๋„ฃ์–ด ๋ณด๋ฉด, ์ด ๋ฐฉ๋ฒ•์ด ์–ผ๋งˆ๋‚˜ ๋น„ํšจ์œจ์ ์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ์œ„์˜ ์‹œํŠธ๋ฅผ ๋Œ€์‹œ๋ณด๋“œ์— ํ‘œํ˜„ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‚˜ํƒ€๋‚˜๊ฒŒ ๋œ๋‹ค.๋ณดํ†ต ๋Œ€์‹œ๋ณด๋“œ์˜ ๊ฒฝ์šฐ ์˜์‚ฌ๊ฒฐ์ •์ž๋“ค์ด๋‚˜ ์‹ค๋ฌด์ง„๋“ค์ด ์‹ค์ ์„ ..
ny:D
'๐Ÿ“’ Today I Learn' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก