기본개념

스파크(Spark)는 하둡과 마찬가지로 자바(Java) 기반의 빅 데이터 처리 프레임워크입니다. 
하지만 스파크는 자바 외에도 스칼라(Scala), 파이썬(Python), R 등 여러 언어를 지원합니다.

스파크의 핵심 코드는 스칼라로 작성되어 있습니다. 스칼라는 함수형 프로그래밍과 객체지향 프로그래밍을 모두 지원하는 현대적인 다중 패러다임 프로그래밍 언어입니다. 스칼라는 JVM(Java Virtual Machine) 위에서 동작하므로 자바와 호환성이 좋습니다.

스파크는 또한 파이스파크(PySpark)라는 인터페이스를 통해 파이썬에서도 사용할 수 있습니다. 이는 데이터 과학자들이 파이썬으로 빅 데이터 처리를 수행할 수 있게 해주는 큰 장점입니다. 

 

 

설치과정

가장 간단하게는 그냥 pip install pyspark 하면 깔린다.

하지만, 먼저 설치한 하둡하고 연결하려면 아래 과정을 거치면 된다.

 

먼저 공식홈페이지에 가서 Pre-built for Apache Hadoop을 선택하고 다운로드를 받는다.

아래는 해당 다운로드 링크를 wget으로 받는 과정을 설명한다.

아래처럼 wget으로 받고 압축을 풀어준다.

cd /opt/spark
sudo wget https://dlcdn.apache.org/spark/spark-3.4.1/spark-3.4.1-bin-hadoop3.tgz
sudo tar -xvzf spark-3.4.1-bin-hadoop3.tgz

그다음 ~/.bashrc파일에 아래 3줄을 추가하고 source ~/.bashrc로 적용해준다.

export SPARK_HOME=/opt/spark/spark-3.4.1-bin-hadoop3
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
export PYSPARK_PYTHON=/usr/bin/python3

그다음 설정파일에 대한 설정을 해준다.

cd /opt/spark/spark-3.4.1-bin-hadoop3/conf
cp spark-env.sh.template spark-env.sh

#spark-env.sh에 아래 두 줄 추가
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_HOME=$SPARK_HOME

#추가한 내용 반영
source spark-env.sh

그 다음 pyspark을 설치해준다.

pip3 install pyspark

 

 

설치가 잘 됐는지 테스트

다음 명령어를 통해 spark shell이 잘 뜨는지 확인(scala> 프롬프트가 뜨면 성공)

$SPARK_HOME/bin/spark-shell

다음 파이선 스크립트를 통해 하둡 HDFS와 잘 연동되는지 확인

from pyspark.sql import SparkSession

spark = SparkSession.builder.getOrCreate()
df = spark.read.text("hdfs://localhost:9000/test.txt")
df.show()
# 먼저 hdfs로 test.txt를 복사해준다.
$ cat test.txt
hello spark
$ hdfs dfs -put test.txt /

# 그다음 다음명령으로 test.py 수행
$ $SPARK_HOME/bin/spark-submit test.py
+-----------+
|      value|
+-----------+
|hello spark|
+-----------+

위의 spark-submit을 통한 실행시 test.py가 끝나기 전에 4040포트로 웹접속을 하면 다음과 같이 웹으로 경과확인이 가능하다!

반응형

'Programming > Linux' 카테고리의 다른 글

ELK연습  (0) 2023.07.30
스팍 - 실습 - 웹서버 세션분석  (0) 2023.07.30
하둡 - 실습 - 웹서버 세션분석  (0) 2023.07.29
하둡 - 실습 - 웹서버로그분석  (0) 2023.07.29
하둡(Hadoop)  (0) 2023.07.29

+ Recent posts