spark로 프로젝트할때 python? scala? 고민을 하게되는데, 이때 가장 큰 고민은
scala의 경우에는 build하는 sbt, maven을 사용을 해야하는 점이다.
python을 사용하는 사람은 보통 build하는데 익숙하지 않다. 그래서 package의 dependencies를 관리하는게 매우 번거로움
그래서 찾다가보니 proejct를 처음 시작할때 도움을 주는 툴이 있었다.
http://www.foundweekends.org/giter8/
$ mkdir <project_root>
$ sbt new scala/scala-seed.g8
위 명령을 실행하고 나면 해당 디렉토리에 아래와 같은 파일들이 생긴다
build.sbt project src
이렇게 제공하면 툴도아니지... 이미 여러개의 template
이 존재한다.
Template
- https://www.scala-sbt.org/1.x/docs/sbt-new-and-Templates.html
- template list github
- spark-scala 프로젝트 초기화 관련 github
$ sbt new scala/scala-seed.g8 --branch myBranch
$ sbt new holdenk/sparkProjectTemplate.g8
- sparkProjectTemplate
- 위 템플릿을 입력하면 아래와 같이 프로젝트 이름, organization, package, library 설정이 가능하다
- 참고로 project의 이름은 package 이름에
organization + project_name
이 되기 때문에-
을 쓰면 에러 발생
This is a g8 template for building a skeleton Spark project.
name [sparkProject]:
build 테스트
inputFile.txt
에 단어 몇개를 입력하고 아래와 같이 명령어를 입력하면
sbt "run inputFile.txt outputFile.txt"
outputFile.txt
의 디렉토리에 결과가 생긴다
build
sbt assembly
를 하면test
가지 포함해서 실행해준다.
'우리는 개발자 > Data Engineering' 카테고리의 다른 글
[Spark] SparkSessionWrapper를 구현하자 (0) | 2020.02.26 |
---|---|
[Spark] 자주 사용하는 명령어 모음 (업데이트) (0) | 2020.02.26 |
[elasticsearch] es를 intellij 에서 debugging 하기. (0) | 2020.02.26 |
[kubernetes] mac에 minikube설치하기. (0) | 2020.02.18 |
[elasticsearch] refresh, flush, optimize API. 루씬과의 비교. (0) | 2020.01.27 |