2016-07-17 3 views
1

RDD 요소 데이터 유형을 변환하는 방법을 찾는 데 어려움을 겪고 있습니다. 나는 텍스트 파일을 다음 있습니다 : RDD [String, String]을 RDD로 변환하십시오.

1 2 
2 3 
3 4 

나는 기본적으로 새로운 RDD, 그것을 만들

은 문자열 데이터 유형

val exampleRDD = sc.textFile("example.txt").map(x => (x.split(" ")(0),x.split(" ")(1))) 
exampleRDD: org.apache.spark.rdd.RDD[(String, String)] = MapPartitionsRDD[5] at map at <console>:27 

을 소요하지만 난 그것을 RDD [(INT, INT)]가되고 싶어요. 나는

val exampleRDD: RDD[(Int,Int)) =sc.textFile("example.txt").map(x => (x.split(" ")(0),x.split(" ")(1))) 

을 시도하지만, 어떤 도움을 주시면 감사하겠습니다

error: not found: type RDD

오류가 있습니다.

답변

0

"오류 : 찾을 수 없음 : type RDD"오류는 전체 클래스 이름을 org.apache.spark.rdd.RDD로 설정해야하기 때문에 발생합니다.

하지만 여전히 문제는 해결되지 않습니다. Int를 반환하려면 문자열을 Int로 변환해야합니다.

val exampleRDD = sc.textFile("example.txt").map(x => (x.split(" ")(0).toInt,x.split(" ")(1).toInt)) 

결과 : exampleRDD : org.apache.spark.rdd.RDD [(INT, INT) = MapPartitionsRDD [36]에서지도를 34

0
sc.textFile("two.txt").map(_.split(" ")).map(ar => (ar(0).toInt, ar(1).toInt)) 

가있는 경우 더 복잡 형식을 사용하려면 spark-csv를 사용하여 데이터를 구문 분석하는 것이 좋습니다.