Spark Standalone Cluster with Docker Swarm

이번에 연구실에서 Apache Spark Cluster를 구축할 일이 있어서 구축 방법을 문서화했다. 이 포스트에서는 그 문서에 살점을 조금 더 붙여서 올려본다. 아울러 데이터가 최대한 내부망에서 처리되는 것을 원하시는 교수님 + 클라우드로 연구비를 사용하기 힘듦 등의 이유로 AWS를 사용할 수 없는 환경이라 직접 설치 / 설정했음을 밝혀둔다. Why Standalone? YARN, Mesos, Kubernetes와 같은 방법 대신에 왜 Docker […]

How to Launch / Terminate AWS EMR Cluster

(1) AWS 상단의 Services 탭 클릭 > EMR (Elastic MapReduce) 클릭   (2) 좌상단의 Create cluster를 클릭   (3) 이름과 Logging 유무, 원하는 버전 (본인은 최신 버전인 emr-5.10.0을 선택), 원하는 Application (본인은 Spark를 이용하기 위해 Spark를 선택) , 원하는 인스턴스 타입과 갯수, 자신이 사용하는 ECC pem key를 적절히 선택하고 우 하단에 Create cluster 클릭   […]

Convert Spark DataFrame to Map in Scala

테이블에서 각 나이별 Count를 구하는 상황이었다. val ageGroup = finalDf.groupBy(“나이”).count() 과 같이 각 나이가 몇 번 출현하는지 세는 것은 크게 문제가 없었지만, 사람이 어려봤자 0살, 늙어봤자 200살이니 굳이 이것을 데이터프레임으로 들고있기 보다는 Scala built-in Map으로 변환하고 싶었다. 하지만 ageGroup: org.apache.spark.sql.DataFrame = [나이: int, count: bigint]와 같이, 나이는 int, count는 bigint 타입으로 출력되어, 이것을 Seq로 만든뒤 List로 만드니 […]

Create Spark Project in intelliJ

IntelliJ Version 2017.1.4 1. Create Scala Project with SBT based 2. Check Latest Spark Version https://mvnrepository.com/artifact/org.apache.spark Currently, Spark doesn’t support the Scala 2.12 => You should make intelliJ Project with Scala version 2.11.X. 3. Project Structure > Libraries > + >From Maven > Search org.apache.park:spark-core Select version you found on the maven website. 4. Done! […]