236
9가지 사례로 익히는 고급 스파크 분석 (2판)
val id = jso.fields.get("id")
val properties = jso.fields("properties").asJsObject.fields
val geometry = jso.fields("geometry").convertTo[RichGeometry]
Feature(id, properties, geometry)
}
}
FeatureJsonFormat
객체에
implicit
키워드를 사용한 이유는
JsValue
인스턴스 하나에 대
해
convertTo
[
Feature
] 함수를 호출했을 때
Spray
라이브러리가
FeatureJsonFormat
객체
를 찾아볼 수 있도록 하기 위함이다.
RootJsonFormat
구현의 나머지 부분은 깃허브 저장소
의
GeoJSON
라이브러리 소스 코드에서 확인할 수 있다.
8.4
뉴욕 택시 운행 데이터 준비하기
이제 스파크에서
GeoJSON
라이브러리를 이용하여 뉴욕 택시 운행 데이터를 대화식으로 분
석해볼 차례다.
HDFS
에
taxidata
디렉터리를 만들고 택시 운행 데이터를 클러스터로 복사
하자.
$ hadoop fs -mkdir taxidata
$ hadoop fs -put trip_data_1.csv taxidata/
이제 스파크 셸을 시작하자. 이때 --
jars
인수를 주어 우리에게 필요한 라이브러리를 사용할
수 있도록 한다.
$ mvn package
$ spark-shell --jars ch08-geotime-2.0.0-jar-with-dependencies.jar ...