04 Spark 개발 프로세스
16 Aug 2017 | Spark Development1. 공통 개발 프로세스
- SparkContext생성
- 애플리케이션과 스파크클러스터와의 연결을 담당하는 객체
- 스파크 애플리케이션을 수행하는데 필요한 각종 설정 정보를 담는 SparkConf를 SparkContext 생성자으 인자로 전달해야함
- RDD 생성
- 데이터를 처리하기 위한 클래스
- 생성 방법
- 외부 데이터 소스
- 기존 RDD
- RDD 처리
- 결과 파일 처리
- 처리 결과 저장
- SparkContext종료
2. 언어별 프로세스
Scala
- 프로세스
- 공통 개발 프로세스에 따른 코드 작성
- 단위 테스트
- JUnit 단위 테스트(TDD)
- FlatSpec(시나리오 명세, BDD)
- 소스코드 실행
- Jar 파일 형태로 빌드한 뒤 실행(Maven)
- SBT를 이용한 빌드
- 스칼라의 경우 Shell에서 PERL방식의 개발환경 제공 : 간단한 분석 처리를 위한 용도
Python
- 프로세스
- 공통 개발 프로세스에 따른 코드 작성
- 단위 테스트
- Python unit-test
- 소스코드 실행
- 소스코드 실행
Java
- 프로세스
- 공통 개발 프로세스에 따른 코드 작성
- 단위 테스트
- JUnit 단위테스트
- 소스코드 실행
- Jar 파일 형태로 빌드한 뒤 실행(Maven)
# 3. 실행 스크립트 spark-submit
- 애플리케이션을 실제 스파크 클러스터에서 쉽게 실행할 수 있게 스파크에서 기본적으로 제공하는 스크립트
- –class : 실행할 클래스의 경로를 지정하는 매개변수
- local[*] : 애플리케이션에 전달되는 인자
- 실행 스크립트 예 :
> spark-submit --class [실행할 클래스 경로] [실행할 JAR파일 경로] local[스레드 개수] [실행할 클래스에 들어가는 매개변수1] [실행할 클래스에 들어가는 매개변수2] ...
# 4. spark-shell 에서 실행
Comments