๐ Docker์์ PySpark๋ฅผ ์ฌ์ฉํ์๋ ๋ถ
๐ PySpark๋ฅผ ์ฌ์ฉํ์ฌ HDFS์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ์๋ ค๋ ๋ถ
PySpark๋ก HDFS์ ๋ฐ์ดํฐ ์ ์ฅ ์, ์๋ฌ ๋ฐ์ ํ์ธ
RuntimeError: Python in worker has different version 3.6 than that in driver 3.7, PySpark cannot run with different minor versions. Please check environment variables PYSPARK_PYTHON and PYSPARK_DRIVER_PYTHON are correctly set.
Q: Apache Spark๋ก master 1๊ธฐ, worker 3๊ธฐ ํด๋ฌ์คํฐ๋ฅผ ๊ตฌ์ถํด์
Hive(HDFS) ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ์ ์ฌํ๋ ์ค,
์๊ธฐ ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.๐ฅ
A: Spark master, worker ์ปจํ
์ด๋(SC)์์ ์ฌ์ฉํ๋ ํ์ด์ฌ ๋ฒ์ ๊ณผ
PySpark๋ฅผ ์ฌ์ฉํ๋ ์ปจํ
์ด๋(PSC)์์ ์ฌ์ฉํ๋ ํ์ด์ฌ ๋ฒ์ ์ด
์์ดํ์ฌ ๋ฐ์ํ๋ ์๋ฌ์
๋๋ค.๐
ํ์ด์ฌ ๋ฒ์ ๋ง ๋ง์ถฐ์ฃผ๋ฉด ๋๋๋ฐ,
์๊ธฐ ์๋ฌ๋ฅผ ๋ณด์, SC์์ ์ฌ์ฉํ๋ ํ์ด์ฌ ๋ฒ์ ์ 3.7,
PSC์์ ์ฌ์ฉํ๋ ํ์ด์ฌ ๋ฒ์ ์ 3.6 ๋ฒ์ ์ผ๋ก ์ถ์ ๋ฉ๋๋ค.
SC์ ๋ชจ๋ ์ปจํ
์ด๋์์ ํ์ด์ฌ ๋ฒ์ ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๋ฒ๊ฑฐ๋ก์ฐ๋,
PSC์์ ํ์ด์ฌ ๋ฒ์ ์ ์ฌ์ค์ ํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค.
ํ๋จ์ ๋ด์ฉ์ ์ฐธ๊ณ ํ์ฌ ์ด Disgustingํ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์ญ์์คโโ
$ apt install python3.7
~
import os
os.environ["PYSPARK_PYTHON"] = "/usr/bin/python3.7"
os.environ["PYSPARK_DRIVER_PYTHON"] = "/usr/bin/python3.7"
~