2016-03-18 7 views
0

タプルスカラ:を作る私はこのようになりアレイのRDD [文字列]を有する列

Iアイテムの固定数を一緒に組み合わせてタプルに各要素、または各ラインを作るために必要
mystring= ['thisisastring', 'thisisastring', 'thisisastring', 'thisisastring' ......] 

彼らは全体として回ることができます。 だから、基本的に、それはのようだ:

(1, 'thisisastring') 
(2, 'thisisastring') 
(3, 'thisisastring') 

だから、私はTuple2 [INT、文字列]でTuple2を使用する必要があると思います。私が間違っている場合は私に教えてください。

私がこれをしたとき:val vertice = Tuple2(1, mystring)。 私はすべての行にint 1を追加していることに気付きました。 1、2、3行目を1行目、2行目、3行目に追加するには、Array [String]を繰り返しループする必要があります。 while(count < 14900)を使うことを考えました。 しかし、val countは固定数であり、毎回カウント値を更新することはできません。 これを行うには良い方法がありますか?

+0

'(A、B)'は 'Tuple2(A、B)'と同等です。 –

+0

どういう意味ですか? – JY078

+0

私はzipwithindexをすれば、それは私にタプルの権利を与えるでしょうか? bcz私はエッジと頂点を追加するつもりです、それらはタプルである必要があります – JY078

答えて

2

あなたはzipWithIndexを探しているようですね。

あなたは結果RDDになりたいタイプを指定しない

けど
これはあなたのRDD[(Int, String)]を与える:

rdd.flatMap(_.zipWithIndex) 

これはあなたにRDD[Array[(Int, String)]を与える:

rdd.map(_.zipWithIndex) 
+0

一般的なコメントは、zipWithIndexについて質問しています。はいzipとzipWithIndexはどちらもTuple2を作成します。 –

1

どのように使用する方法について&の収率。

for (i <- 1 to count) yield Tuple2(i, mystring(i)) 
関連する問題