Programming (29) ์ธ๋ค์ผํ ๋ฆฌ์คํธํ ์ปดํ์ผ๋ฌ(Compiler)์ ์ธํฐํ๋ฆฌํฐ(Interpreter) ์ปดํ์ผ๋ฌ(Compiler) โท ๊ณ ๊ธ์ธ์ด๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ด ์ปดํจํฐ์์ ์ํ๋๊ธฐ ์ํด์๋ ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋ ๊ธฐ๊ณ์ด๋ก ๋ฐ๊พธ์ด ์ฃผ์ด์ผ ํ๋ค. ์ด๋ฌํ ์ผ์ ์ํํ๋ ํ๋ก๊ทธ๋จ์ ์ปดํ์ผ๋ฌ๋ผ๊ณ ํ๋ค. โท ๋ฒ์ญ๊ณผ ์คํ์ ๊ฑฐ์ณ์ผ ํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ์ง๋ง, ๋ฒ์ญํ ์ดํ์๋ ์ถ๊ฐ์ ์ธ ๋ฒ์ญ ๊ณผ์ ์ด ํ์ ์์ผ๋ฏ๋ก ์คํ์๋๊ฐ ๋น ๋ฅด๋ค. โท ๋ฌธ๋ฒ์ด ํ๋ฆฌ๋ฉด ์ปดํ์ผ ํ๋ ๊ณผ์ ์์ ์๋ฌ๊ฐ ๋ฐ์ํ๊ฒ ๋ ๊ณ , ์ด๋ฅผ ์ปดํ์ผ ์๋ฌ๋ผ๊ณ ํ๋ค. ํ๋ก๊ทธ๋จ ๋จ์๋ก ๋ณํ๋๊ธฐ ๋๋ฌธ์ ์ปดํ์ผ ์๋ฌ๊ฐ ๋ฐ์ํ๋ฉด ์คํ์ด ๋ถ๊ฐ๋ฅํ๋ค. ์ธํฐํ๋ฆฌํฐ(Interpreter) โท ๊ณ ๊ธ์ธ์ด๋ก ์์ฑ๋ ํ๋ก๊ทธ๋จ์ ๋ฌธ์ฅ ๋จ์๋ก ๊ธฐ๊ณ์ด๋ก ํด์ํ์ฌ ์คํํ๋ ํ๋ก๊ทธ๋จ์ ์ธํฐํ๋ฆฌํฐ๋ผ๊ณ ํ๋ค. โท ๋ฌธ์ฅ ๋จ์๋ก ์คํ๋๊ธฐ ๋๋ฌธ์ ํ๋ก๊ทธ๋จ์ ๋ณํ์ ๋น ๋ฅด๊ฒ ๋ฐ์ํ ์ ์๊ณ , ์๋ฌ๊ฐ.. ์ฃผํผํฐ ๋ฉ(Jupyter lab)๊ณผ ์คํํฌ(Spark) ์ฐ๋ ์๋์ฐ 10 ํ๊ฒฝ์์ ์ฃผํผํฐ ๋ฉ(Jupyter lab)๊ณผ ์คํํฌ(Spark)๋ฅผ ์ฐ๋ํด๋ณด์. ์๋์ฝ๋ค(Anaconda)์ ์คํํฌ๊ฐ ์ค์น๋์ด ์์์ ์ ์ ํ๊ณ ์ค๋ช ์ ์์ํ๋๋ก ํ๊ฒ ๋ค. ์๋์ ๋งํฌ๋ ์คํํฌ์ ์ค์น ๋ฐฉ๋ฒ์ด๋, ํ์ํ๋ฉด ์ฐธ๊ณ ํ ์ ์๋๋ก ํ์. [Scala & Spark] 02. ์คํํฌ(Spark) ์ค์น ์๋์ฐ 10 ํ๊ฒฝ์์ ์คํํฌ(Spark) ์ค์น ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ ๊ฒ์ด๋ค. ์คํํฌ๋ฅผ ์ค์นํ๊ธฐ ์ํด ์๋ฐ(Java)์ ์ค์นผ๋ผ(Scala)๊ฐ ํ์ํ๋ค. ๋ฐ๋์ ์๋ฐ์ ์ค์นผ๋ผ๋ฅผ ์ค์นํ ํ, ์คํํฌ๋ฅผ ์ค์นํ๋๋ก ํ๏ฟฝ๏ฟฝ rooney-song.tistory.com 1. ์ฃผํผํฐ ๋ฉ ์ค์น ๋ฐ ๋ฐ๋ก๊ฐ๊ธฐ ๋ง๋ค๊ธฐ (1) ์๋์ฝ๋ค ํ๋กฌํํธ๋ฅผ ์คํํ๊ณ , "pip install jupyterlab"์ ์ ๋ ฅํ์ฌ ์ฃผํผํฐ .. ์คํํฌ(Spark) ์ค์น ์๋์ฐ 10 ํ๊ฒฝ์์ ์คํํฌ(Spark) ์ค์น ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ ๊ฒ์ด๋ค. ์คํํฌ๋ฅผ ์ค์นํ๊ธฐ ์ํด ์๋ฐ(Java)์ ์ค์นผ๋ผ(Scala)๊ฐ ํ์ํ๋ค. ๋ฐ๋์ ์๋ฐ์ ์ค์นผ๋ผ๋ฅผ ์ค์นํ ํ, ์คํํฌ๋ฅผ ์ค์นํ๋๋ก ํ์. ์ค์นผ๋ผ์ ์ค์น ๋ฐฉ๋ฒ์ ์๋์ ๋งํฌ๋ฅผ ํตํด ํ ์ ์์ผ๋, ํ์ํ๋ฉด ์ฐธ๊ณ ํ๋๋ก ํ์. [Scala & Spark] 01. ์ค์นผ๋ผ(Scala) ์ค์น ์๋์ฐ 10 ํ๊ฒฝ์์ ์ค์นผ๋ผ(Scalar) ์ค์น ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ ๊ฒ์ด๋ค. ์ค์นผ๋ผ๋ ์๋ฐ(Java)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ ์๋ฐ(1.8 ๋ฒ์ ์ด์)๋ฅผ ๋ฐ๋์ ์ค์นํด์ผ ํ๋ค. ๋ฐ๋์ ์๋ฐ๋ฅผ ์ค์นํ ํ, ์ค์นผ๋ผ๏ฟฝ rooney-song.tistory.com 1. ์คํํฌ ๋ค์ด๋ก๋ ๋ฐ ์ค์น (1) ์ฌ๊ธฐ(http://spark.apache.org/downloa.. ์ค์นผ๋ผ(Scala) ์ค์น ์๋์ฐ 10 ํ๊ฒฝ์์ ์ค์นผ๋ผ(Scalar) ์ค์น ๋ฐฉ๋ฒ์ ๋ํด์ ์์๋ณผ ๊ฒ์ด๋ค. ์ค์นผ๋ผ๋ ์๋ฐ(Java)๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ ์๋ฐ(Java)๋ฅผ ๋ฐ๋์ ์ค์นํด์ผ ํ๋ค. ์๋ฐ๋ Java SE 8, JDK 8, JRE8 ์ค ํ๋๋ฅผ ์ค์นํ๋๋ก ํ์. ์๋ฐ๋ฅผ ์ค์นํ ํ, ์ค์นผ๋ผ๋ฅผ ์ค์นํ๋๋ก ํ์. 1. ์ค์นผ๋ผ ๋ค์ด๋ก๋ ๋ฐ ์ค์น (1) ์ฌ๊ธฐ(https://www.scala-lang.org/download/)๋ก ๋ค์ด๊ฐ [Download the Scala binaries for windows]๋ฅผ ์ ํํ๋ค. (2) ๋ค์ด๋ฐ์ "scala-2.13.3.msi"๋ฅผ ์คํํ์ฌ ์ค์นํ๋ค. (2-1) ๋ง์ฝ ์คํํฌ(Spark)๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด ์ค์นผ๋ผ๋ฅผ ์ค์นํ๋ ๊ฒฝ์ฐ, ๊ฒฝ๋ก ์ค์ ์ ๋ค๋ฅด๊ฒ ํด์ฃผ์ด์ผ ํ๋ค. ๊ฒฝ๋ก๋ฅผ ์ง์ ์ง์ ํ์ง ์์ผ๋ฉด .. ํด๋์ค(Class)์ ์ธ์ ๋ฐ ๋ฉ์๋(Method) ํ์ด์ฌ์ ์๋ฃ ๊ตฌ์กฐ์ธ ํด๋์ค(Class)์ ์ธ์ ๋ฐ ๋ฉ์๋(Method) ๋ํด ์์๋ณผ ๊ฒ์ด๋ค. ๋ค๋ฃฐ ๋ด์ฉ์ผ๋ก๋ ๋ค์๊ณผ ๊ฐ๋ค. 1. self ์ธ์ 2. __init__() ๋ฉ์๋ 3. super() ๋ฉ์๋ 1. self ์ธ์ In: class test_class: def test_fun_1(): print('Function 1') def test_fun_2(self): print('Function 2') t_c = test_class() t_c.test_fun_1() Out: --------------------------------------------------------------------------- TypeError Traceback (most recent call last) in 1 t_c =.. ์ด์ 1 2 3 ๋ค์