Study Anything ๐ง
[PySpark] ์ฅฌํผํฐ ๋ ธํธ๋ถ์ผ๋ก PySpark ์ฌ์ฉํ๊ธฐ ๋ณธ๋ฌธ
[PySpark] ์ฅฌํผํฐ ๋ ธํธ๋ถ์ผ๋ก PySpark ์ฌ์ฉํ๊ธฐ
์ 2022. 2. 25. 23:57์ ๋ฒ ํฌ์คํธ์์๋ windows10 ์ ์คํํฌ๋ฅผ ์ค์นํด๋ณด์๋ค.
๋ค๋ง cmd ์ฐฝ์์ ๋ชจ๋ ์์ ์ ์งํํ๊ธฐ์๋ ๋ถํธํจ์ด ์์ด์ (์์ ๋ช ๋ น์ด ๋ฑ ๋ด์ฉ ์ ์ฅ์ ๋ถํธ)
์์ผ๋ก๋ ์ฅฌํผํฐ ๋ ธํธ๋ถ์ผ๋ก ์์ ํ๊ธฐ ์ํด ์์ ํ๊ฒฝ์ ์ธํ ํ๊ณ ํ ์คํธ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ถ๋ฌ์๋ณด์๋ค.
์ฅฌํผํฐ ๋ ธํธ๋ถ๊ณผ ์๋์ฝ๋ค๋ ์ด๋ฏธ ์ค์น๋์ด ์๋ค๊ณ ๊ฐ์ ํ๋ค.
๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํด ํ๋ก์ ํจ๊ป ์ฌ์ฉํ๋ค. (ํ๋ก ์ค์น ๋ฐฉ๋ฒ์ ์ด์ ํฌ์คํธ ์ฐธ๊ณ )
์ฆ, ์ด๋ฒ ํฌ์คํธ์์ ๋ค๋ฃจ๋ ๋ด์ฉ์ ์คํํฌ์ ํ๋ก์ ์ฐ๊ฒฐํ๋ ๋ด์ฉ์ด๋ผ๊ณ ๋ณผ ์ ์๊ฒ ๋ค.
(1) ํ๋ก ์คํ
cmd ์ฐฝ์ ์ด์ด ํ๋ก ์ค์นํ์ผ์ด ์๋ ๋๋ ํ ๋ฆฌ๋ก ์ด๋ํ๊ณ ๋ค์ ๋ช ๋ น์ด๋ค์ ์ฐจ๋ก๋ก ์คํํ๋ค.
์ด ๋ 'hdfs namenode -format' ๋ช ๋ น์ ํ ๋๋ง๋ค ์คํํ์ง ์๊ณ ๋งจ ์ฒ์์๋ง ์คํํด๋ ๋๋ ๊ฒ ๊ฐ๋ค.
๋ง์ฝ ํด๋น ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํ๊ณ 'Re-format filesystem in Storage Directory root= C:\(์๋ต)\namenode; location= null ? (Y or N)' ๋ผ๋ ์ง๋ฌธ์ด ๋จ๋ฉด n ์ ์ ๋ ฅํ๋ฉด ๋๋ค. (์์น๊ฐ null์ด๋๋ ์๋ฏธ)
...> cd C:/Hadoop/Hadoop-3.2.2
C:\Hadoop\Hadoop-3.2.2> cd etc/hadoop
C:\Hadoop\Hadoop-3.2.2\etc\hadoop> hadoop-env
C:\Hadoop\Hadoop-3.2.2\etc\hadoop> hdfs namenode -format
์ด ๋ค์์ผ๋ก ๋ค์๋ ธ๋, ๋ฐ์ดํฐ๋ ธ๋, yarn ๋ฐ๋ชฌ๋ค์ ์คํํด ํ๋ก ํ๊ฒฝ์ ๊ตฌ๋ํ๋ค.
์ด๋ค์ ์คํํ๊ณ ํ์ธํ๋ ์์ธํ ๋ด์ฉ์ ์ด์ ํฌ์คํธ ํ๋ฐ๋ถ์ ๋ค๋ค๋์๋ค.
C:\Hadoop\Hadoop-3.2.2\etc\hadoop> cd ../../sbin
C:\Hadoop\Hadoop-3.2.2\sbin> start-dfs
C:\Hadoop\Hadoop-3.2.2\sbin> start-yarn
ํ๋ก์ด ์ ์์ ์ผ๋ก ์คํ๋์๋ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ค์ ์ ๋ ฅํด ํ๋ก ์ ์ฅ์์ ๋๋ ํ ๋ฆฌ์ ํ์ผ์ ์ถ๊ฐํ๋ค.
mkdir ์ ๋๋ ํ ๋ฆฌ๋ฅผ ์์ฑํ๋ ๋ช ๋ น์ด, put ์ ๋๋ ํ ๋ฆฌ์ ํ์ผ์ ์ ๋ก๋ํ๋ ๋ช ๋ น์ด์ด๋ค.
(2) ํ๊ฒฝ ๋ณ์ ์ ๋ ฅ
์ฅฌํผํฐ ๋ ธํธ๋ถ์์ ํ์ด์คํํฌ(PySpark)๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ํ๊ฒฝ ๋ณ์๋ฅผ ์ค์ ํด์ผ ํ๋ค.
('์ค์ > ์์คํ > ์ ๋ณด > ๊ณ ๊ธ ์์คํ ์ค์ > ๊ณ ๊ธ > ํ๊ฒฝ๋ณ์'๋ฅผ ํตํ๊ฑฐ๋ ์๋์ฐ ๊ฒ์์ฐฝ์ 'ํ๊ฒฝ๋ณ์'๋ฅผ ์ ๋ ฅํ ํ '์์คํ ํ๊ฒฝ ๋ณ์ ํธ์ง'์ ํด๋ฆญํด ํ๊ฒฝ๋ณ์ ์ฐฝ์ ๋์ด๋ค.)
ํ๊ฒฝ ๋ณ์ ์ค ์์คํ ๋ณ์ ๋ถ๋ถ์์ ์๋ก ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํ ํ ๋ ๋ณ์๋ฅผ ์ถ๊ฐํ๋ค.
๋ณ์ ์ด๋ฆ | PYSPARK_DRIVER_PYTHON | PYSPARK_DRIVER_PYTHON_OPTS |
๋ณ์ ๊ฐ | jupyter | notebook |
์ฌ์ฉ์ ๋ณ์๋ ์์คํ ๋ณ์ ์ค Path ๋ณ์ ๋ด์ฉ์ ์๋์ฝ๋ค๊ฐ ๋ฑ๋ก๋์ด ์๋์ง๋ ํ์ธํ๋ค.
(3) ์ฅฌํผํฐ ๋ ธํธ๋ถ ์คํ
์ฅฌํผํฐ ๋ ธํธ๋ถ์ ์คํํ๊ณ ์๋ก์ด ํ์ด์ฌ ๋ ธํธ๋ถ ํ์ผ์ ๋ง๋ ๋ค ๋ค์์ ๋จ๊ณ๋ฅผ ๋ฐ๋ฅธ๋ค.
[1] findspark ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ค์น
pip install findspark
[2] findspark ์ํฌํธ ํ ์ด๊ธฐํ
import findspark as fs
fs.init()
[3] ์คํํฌ ์ธ์ ์์ฑ
# spark ์์ฑ
import pyspark
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()
[4] ํ๋ก ์ ์ฅ์์์ ์คํํฌ๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ ๋ถ๋ฌ์ค๊ธฐ
localhost ๋ค์ ํฌํธ ๋ฒํธ๋ ๊ฐ์์ ํ๋ก ํ๊ฒฝ์ ๋ง๋ ํฌํธ ๋ฒํธ๋ฅผ ๋ฃ์ผ๋ฉด ๋๋ค.
data = spark.read.csv("hdfs://localhost:9000/test/movies.csv", header="true", inferSchema="true")
[5] ๋ฐ์ดํฐ ํ์ธ
๋ช ๋ น์ ์คํํ์ ๋ ๋ค์์ฒ๋ผ ๋ฐ์ดํฐ ํ์ผ์ ๋ด์ฉ์ด ๋์ค๋ฉด ์ฑ๊ณต์ด๋ค!
data.show()
์ด์ ํ๋ก๊ณผ ์คํํฌ๋ฅผ ์ด์ฉํด ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ชจ๋ ์ค๋น๊ฐ ๋๋ฌ๋ค.
๋ค์ ๋จ๊ณ๋ก๋ ๋ถ์ํ ๋ฐ์ดํฐ๋ฅผ ๋ชจ์ผ๊ณ ์คํํฌ๋ฅผ ์ฌ์ฉํด ์ฒ๋ฆฌํด๋ณด๋๋ก ํ๊ฒ ๋ค.
'์คํฐ๋ > Data Analytics' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐ์ดํฐ ๋ถ์ ํ๋ ์์ํฌ - AARRR (ํด์ ์งํ) (0) | 2022.03.16 |
---|---|
[Hadoop] ๋งต๋ฆฌ๋์ค - ๋ถ์ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ํ๋ ์์ํฌ (0) | 2022.02.26 |
[Hadoop] YARN - ๋ฆฌ์์ค ๊ด๋ฆฌ์์ ์ค์ผ์ค๋ฌ (0) | 2022.02.24 |
[Hadoop] ํ๋ก ์ค์นํ๊ณ ํ์ธํด๋ณด๊ธฐ (0) | 2022.02.23 |
[Spark] ์คํํฌ ์ค์นํ๊ณ csv ํ์ผ ๋ถ๋ฌ์ค๊ธฐ (0) | 2022.02.15 |