[spark 2] 4-3. Local Standalone REP 데모

data_hamster·2023년 7월 31일
0

스파크 서밋을 하기위한 실습을 하기위해
맥에서 로컬 스탠드얼론 스파크를 사용 -> 우분투로 대체함.

오래 타자칠꺼 같아서 키보드도 이제 항시 휴대하려고 함.

콜랩 - 스탠드 얼론을 설치했었음
이번에 스파크 서밋 연습.
개인 PC에 로컬스탠드얼론 설치.

MAC 기준 설치이나, 윈도우 관련 문서는 깃헙 링크 공유.
맥은 카탈리나 OS. Z 쉘?
자바기반의 스파크 시스템에선 JDK8 또는 11이 필요함. -> 확인해야함.
자바 홈 환경변수를 설치해줘야 함.

https://github.com/keeyong/beginner-spark-programming-with-pyspark/blob/main/spark/local_installation.md


자바가 설치되어 있지 않음

이에 JAVA 11을 설치함.

환경변수 설치할 차례
https://unit-15.tistory.com/114
이거 보고 자바 설치함.

spark-shell로 실행함.

웹 UI도 뜨는 것을 확인함

pip install py4j 후
pyspark로 정상 설치 확인

주의. 수업 버전은 3.3.1이지만 나는 3.3.2로 설치함
이에 유의해서 명령어 입력하기.

정상적으로 뭐가 돌아간거 같은데.
일단 깃허브를 통한 설치는 끝난 것 같으니, 수업 이어서 듣는다.

실습

자바 버전을 번저 확인해본다
java -version

11이 설치된 것을 확인.
https://unit-15.tistory.com/114
이걸로 난 설치했음
brew 이거 나는 안됐었음.

JAVA_HOME에 셋팅해줘야함.
z쉘도 export 명령어를 추가해주고
source로 실행시켜준다

spark 3.3.2 설치.

폴더를 mkdir로 만들고, mv 로 압축파일 옮기고, 압축을 풀었음.
이를 SPARK_HOME에 등록
빈 디렉토리를 path에 등록함


쉘에 스파크 디렉토리를 추가함.

기존 패스 뒤에 bin을 추가함.

source명령어를 이용해 실행함

spark-shell

스칼라로 도는 쉘
방금 우리가 설치한 로컬 스탠드얼론과 통신함

웹 UI 주소가 보이고
master = local
스파크 세션이 만들어져서 스파크 컨텍스트 있고 sc라는 변수에 들어 있음.
스칼라 프로그래밍 할줄알면 sc, spark. 를 지금 설치된 스파크와 통신 가능함.

로컬 스탠드얼론 스파크와 통신함.
우리가 스칼라로 사용할 것은 아님. 띄운김에 웹UI 방문함
스파크쉘을 닫으면 UI와 통신할 수 없음.

spark-Web UI


볼건 없음
엑시큐터 상황을 볼수 있음

스토리지 상황

스파크 잡 별로 상황을 볼 수도 있음

:q를 눌러서 나가주면 된다

python shell

파이스파크 쉘 실행해본다. - 파이썬 사용 가능
스파크쉘 - 스칼라버전

py4j 설치 먼저 선행되어야 함
pip install py4j

pyspark로 파이썬 버전의 스파크 쉘을 실행해본다


스칼라 쉘과 유사
스파크 세션 만들어져 있고, 웹UI 있음
스파크 컨텍스트라고 RDD 조작용 오브젝트로 만들어져 sc 변수에 있음.
스파크세션이 스파크라는 이름의 변수가 있음.
생생은 불필요

해당 파일을 바로 읽어본다.
df = spark.read.option("header", True).csv("name_gender.csv")
나도 wget으로 받아옴
이를 받고, 5개의 레코드를 확인해본다.

웹 브라우저로 넘어가서,

뭐가 보이기 시작한다.
네임젠더를 처리하는 코드를 실했기 때문,
잡이 2개가 섭밋
엑시큐터 가보면

액티브1개, 태스크 2개를 수행.

다시 파이스파크 데모로 돌아와
성별로 알아보는 명령어 실행.

df.groupby(["gender"]).count().collect()
groupby + select 기능까지 같이 해줌

파이스파크, 웹 UI를 실행해보고, 디스플레이 간단하게 확인함.
exit()로 빠져나간다

spark submit

스파크서밋을 사용해본다
딸려오는 예제 중. PI 값 계산
깃허브의 명령어 있으니 복사. 단, 나의 경우 버전이 3.3.2이므로 수정해야함.
로컬 4로 4개의 쓰레드 사용. 뒤에 주소를 입력.
뭔가 많이 출력이 됨.

스파크에서 PI의 값을 구현함.
다양한 메세지들은 클라우드 옵션 설명 때 차후.
여기 정보, 웹 UI 정보로 문제, 최적화 문제 파악함.

profile
반갑습니다 햄스터 좋아합니다

0개의 댓글