2016-07-17 22 views
1

RDD要素のデータ型を変換する方法を見つけ出すのは初めてのことです。RDD [String、String]をRDDに変換する[Int、Int]

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

「エラー:見つかりません:タイプ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を使用する方がデータを解析する方が適しています。

関連する問題