반응형

스칼라 4

[Scala] Java List를 Scala List로 변경하기

들어가며: Scala가 좋은게 java의 기존 라이브러리를 그대로 전부 사용이 가능하다는게 장점이다. 기존에 java로 구현이 많이 되어 있는데, 해당 라이브러리를 scala로 모두 변경해야 한다면, 정말 너무 슬프다. 하지만 아무래도 scala에서 지원하는 collection과 java에서 지원하는 collection의 함수가 다르기 때문에, scala의 함수도 익숙해질겸 변경이 가능하면 변경해서 사용하려고 했다. 해결하고 싶었던 문제는 java.util.list.List[String]에 있는 String의 리스트를 하나의 String으로 변경시키고 싶었다. 자바 8이상에서는 String.join(“”, list)를 하면 쉽게 변환이 가능하다. 파이썬에서 이처럼 사용했었는데, 자바도 지원을 해준다. 하..

Programming/Java 2016.11.08

[Mac] Java, Scala, Gradle 설치 및 환경변수 설정

들어가며 mac에서scala를 설치하는 방법에 대해서 설명을 한다. scala는 java를 기반으로 해서 미리 java를 설치를 해야한다. dependency를 위해 build tool로 gradle을 설치했다. 설치를 완료한 후에는 환경변수를 설정해주면 끝 Java 설치하기 $ brew install cask install java Scala 설치하기 $ brew install scala Grade 설치하기 https://gradle.org/ 에서 다운로드가 가능하다.$ unzip grade-3.1-all.zip 환경변수 세팅하기~/.bash_profile에 아래와 같이 입력하자export JAVA_HOME= export GRADLE_HOME=

Mac 2016.10.13

[Spark] Row의 Seq Collection으로 RDD, DataFrame 생성하기

들어가며 스파크에서 구현을 하다 보면 각 객체간의 변환(?)이 자유로워야 하는것 같다. 예를 들면 RDD에서 추출한 데이터를 DataFrame으로 생성한다든지, DataFrame에서 여러개의 Row를 추출해서 새로운 RDD를 생성한다는 식의 경우를 말한다. 이번에 당면한 문제는 Json Object의 요소를 저장하고 있는 Seq의 Collection을 갖고 있었고, 이 Collection을 바탕으로 DataFrame의 생성이 필요했다. 이번에는 Seq[org.apache.spark.sql.Row]의 데이터를 RDD와 DataFrame으로 변환하는 방법에 대해서 정리를 해보려고 한다. 소스코드 logData는 org.apache.spark.sql.Row의 값을 갖고 있다. logData에서 field명이 ..

빅데이터/Spark 2016.08.03

[Spark] Json 포맷 처리하기 - Json Object List

들어가며 스파크에서는 CSV, Json, Protocol Buffer, Hadoop에서 지원하는 데이터 포맷 등 다양한 포맷을 지원을 한다. 이번에는 Json파일을 읽어서 스키마를 확인을 하고, 스키마에 있는 필요한 데이터를 추출하는 방법에 대해서 알아보려고 한다. 데이터는 공개되어 있는 tweet 데이터를 사용하였고, tweet데이터에서 내가 필요한 데이터를 추출하기 위한 과정을 소스코드로 작성해 보았습니다. 설명 소스 코드는 tweet의 데이터를 읽어들인 이후에 schema를 확인을 하여 데이터의 포맷이 어떻게 이루어져 있는지 확인을 합니다. (아래 스키마 그림 첨부 했습니다.) 스파크는 lazy execution을 하기 때문에 결과를 확인하기 위해 .take(N)을 사용했습니다. 처음에 tweets..

빅데이터/Spark 2016.08.03
반응형