반응형

빅데이터 강의중 spark 에 대한 실습 설명입니다

포스팅 기준 3.0.0 버젼이 최신이라 3.0.0 버젼으로 진행합니다

보통은 hadoop과 함께 클러스터링 해야하지만 간단하게 spark 무엇인지 따라해보고 실습하는게 목적이기 때문에 단일 서버에서 진행합니다

spark 설치

# java 설치
$ sudo apt-get install openjdk-8-jdk
# spark 다운로드
$ wget http://mirror.navercorp.com/apache/spark/spark-3.0.0-preview/spark-3.0.0-preview-bin-hadoop2.7.tgz
#  wget: command not found << 에러 뜰시 $ sudo apt-get -y install wget으로 wget 설치
# spark 압출풀기
$ tar -xvzf spark-3.0.0-preview-bin-hadoop2.7.tgz
$ cd spark-3.0.0-preview-bin-hadoop2.7

spark 설정

이번 실습에는 spark 클러스터링 설정이 필요없기 때문에 딱히 spark 자체의 설정을 건드릴 필요가 없습니다
따라서 template을 옮겨줍니다

$ cd spark-3.0.0-preview-bin-hadoop2.7
$ cp conf/spark-env.sh.template conf/spark-env.sh

python3과 juypter로 pyspark를 실행하기 위해 설정

$ vi ~/.bash_profile
밑에 부분 추가하고 저장(:wq)
export SPARK_HOME=~/spark-3.0.0-preview-bin-hadoop2.7/
export PATH=$SPARK_HOME/bin:$PATH
export PYSPARK_PYTHON=python3
export PYSPARK_DRIVER_PYTHON=jupyter
export PYSPARK_DRIVER_PYTHON_OPTS='notebook'

# 적용
. ~/.bash_profile

juypter notebook root권한으로 킬수 있게 옵션 설정

vi /root/.jupyter/jupyter_notebook_config.py
#c.NotebookApp.allow_root = False를 주석풀고
c.NotebookApp.allow_root = True로 변경 후 저장(:wq)

기존 juypter notebook 끄고
pyspark 실행

pyspark 설치

파이썬에서 spark를 사용하기 위해 pyspark 설치

python3 -m pip install pyspark

python으로 간단히 csv 가져와서 함수 써보기

python으로 csv 가져오기

rdd = sc.textFile("/root/test.csv")
rdd.count() # row 갯수새기
rdd.collect() # 전체 가져오기

filter 걸어보기

rdd = sc.textFile("/root/test.csv")
rdd_filter = rdd.filter(lambda x: '중구' in x)
filtered = rdd_filter.collect()
filtered

map 함수 써보기

rdd = sc.textFile("/root/test.csv")
rdd_map = rdd.map(lambda x: (x, 1))
mapoed = rdd_map.collect()
mapoed

join 해보기

x = sc.parallelize([("부동산", 1), ("아파트", 4)])
y = sc.parallelize([("부동산", 2), ("아파트", 5)])
joined = x.join(y)
final = joined.collect()
final

union 해보기

x = sc.parallelize([("경매", 1), ("아파트", 4)])
y = sc.parallelize([("매매", 2), ("빌라", 5)])
joined = x.union(y)
final = joined.collect()
final
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기