데이터분석
(pyspark+jupyterlab) Ubuntu내 분석 환경 설정
직장인B
2022. 12. 3. 01:23
- ubuntu 20.04 (multipass)
- python 3.8.9
- pyspark 3.3
wget https://dlcdn.apache.org/spark/spark-3.3.1/spark-3.3.1-bin-hadoop3.tgz
Ubuntu 가상환경 셋팅
multipass launch -c 2 -m 2G --name machine focal
Pyspark 다운로드
spakr 바이너리 파일을 다운로드 받는다. 여기엔 pyspark를 구동하는 라이브러리들이 모두 모아져 있다.
https://www.apache.org/dyn/closer.lua/spark/spark-3.3.1/spark-3.3.1-bin-hadoop3.tgz
wget https://dlcdn.apache.org/spark/spark-3.3.1/spark-3.3.1-bin-hadoop3.tgz
tar -xvzf spark-3.3.1-bin-hadoop3.tgz
Pip 설치
ubuntu20.04에는 python3.8.9가 기본으로 깔려있다. 다만 pip는 없어서 별도로 설치해야한다.
sudo apt-get update
sudo apt-get install pip
Jupyterlab 설치
대게 파이썬 가상환경을 구축해 설치하는게 일반적이지만 우분투 자체가 가상 머신이니 시스템에 바로 설치하였다.
pip3 install --upgrade jinja2
pip3 install jupyterlab
export PATH=$PATH:/home/ubuntu/.local/bin
## jupyter 구동
jupyter-lab --ip "0.0.0.0"
아래의 경로에 가면 python3 이라는 디렉토리가 있고 그 안에 kernel.json이 있다. python3/kernel.json 은 jupyter가 사용하는 python3 커널에 대한 정의서다. 이처럼 아래의 경로에 pyspark 커널에 대한 정의를 해놓으면 된다.
/home/ubuntu/.local/share/jupyter/kernels
## /home/ubuntu/.local/share/jupyter/kernels/pyspark/kernel.json
{
"argv": [
"python",
"-m",
"ipykernel_launcher",
"-f",
"{connection_file}"
],
"display_name": "Pyspark 3.3.1 (ipykernel)",
"language": "python",
"metadata": {
"debugger": true
},
"env": {
"SPARK_HOME": "/home/ubuntu/spark-3.3.1-bin-hadoop3",
"PYTHONPATH": "/home/ubuntu/spark-3.3.1-bin-hadoop3/python/:/home/ubuntu/spark-3.3.1-bin-hadoop3/python/lib/py4j-0.10.9.5-src.zip:/home/ubuntu/spark-3.3.1-bin-hadoop3/python/lib/pyspark.zip",
"PYSPARK_PYTHON": "/usr/bin/python3",
"PYSPARK_DRIVER_PYTHON": "jupyter"
}
}
커널 정의서를 잘 작성했다면 아래처럼 Notebook 상에 해당 커널에 대한 표시가 생겨난다 !
Pyspark 커널에 들어가면 정상적으로 pyspark 를 import해서 사용할 수 있다~!