[ Spark ] JavaRDD로 saveAsTextFile했는데 데이터가 정상적으로 나오지 않는다???
Spark(스파크) 작업을 하고나서 결과물을 hadoop(하둡)에 쓰고 싶을 경우 보통 saveAsTextFile 메소드를 사용하게 된다.
그런데 적재를 하고 하둡 명령어로 해당 파일을 열어봤는데 파일의 내용이 정상적으로 안써지고 dataframe을 RDD로 변경할 때 사용한
모델 패키지명으로 노출되는 경우가 있다. 다음과 같이...
처음 스파크로 작업을 했을 때 적잖이 당황했던 기억이나서 포스팅한다.
코드를 보게되면
다음과 같은 식으로 integratedDF라는 변수명의 dataframe을 JavaRDD로 변환하는데 매핑 모델로 AdidBidPairingModel을 쓰고 있다.
해당 모델을 보면 다음과 같다.
스파크에서 특정 클래스파일로 데이터를 쓸 때 해당 클래스의 toString메소드를 참고해 데이터를 쓰게되는데?(내추측)
해당 모델 클래스에는 toString메소드가 없다...
보통 일반적인 스프링프로젝트에서는 lombok을 써서 알아서 생성해주지만 일반 자바 프로젝트에서는 toString메소드를 작성해주어야 한다.
다음과 같이 AdidBidPairingModel 끝부분에 toString메소드를 정의해주고 다시 spark-submit을 해보면 ~
정상적인형태로 데이터가 나오는 것을 확인할 수 있다!!!!
처음 스파크프로젝트로 작업을 하시는 분들은 꽤나 헤맬 수 있다...나또한 나중에 또 헤맬 수 있으므로 오랜만에 spark작업하는 김에 기록해본다!!!
'Bigdata > Spark' 카테고리의 다른 글
[ Spark ] 스파크 Dataframe count중 scala.MatchError 발생 (0) | 2018.04.19 |
---|---|
[ Spark ] 스파크 데이터프레임(Dataframe) partitionBy를 사용해 입맛에 맛게 저장하기 (0) | 2018.04.13 |
[Spark] 스파크(Spark) Collect관련 OutOfMemoryError:Java heap space (0) | 2017.11.02 |
[Spark] 스파크(Spark) 스트리밍 성능 개선 (0) | 2017.11.01 |
[Spark] 하둡 MR보다 스파크(SPARK)를 사용할 때 장점 (0) | 2017.10.24 |