2016-06-29 7 views
0

単一の要素のRDDにn個の要素のRDDを変換します以下は、私は上記のRDDの要素を連結し、同様に単一の要素のRDDにそれを変換したい</p> <pre><code>val rdd1: RDD[String] = RDD("a","b","c","d") </code></pre> <p>以下のように私は、文字列のRDDを持って

RDD("a,b,c,d") 

これを行う最善の方法は何ですか?

+0

本当に単一の要素の 'RDD'が必要ですか? 1つのアイテムしか持たない_distributed_コレクションを使用した場合の価値は何ですか?そうでなければ、そのレコードに興味があり、 'rdd1.collect()。mkString("、 ")'を呼び出すことができます。 –

+0

rdd saveAsTextFileメソッドを使ってHDFSに結果を保存したかったのです。そういうわけで私はそれを別のRDDに変換したいのです。 – yAsH

+0

@raHulこれを行う必要はありません。既に述べたように、すべてのデータを単一の値を持つRDDに集約するだけでは、分散処理フレームワークを使用することはできません。 'saveAsTextFile'はそれを世話し、結果をHDFSに配布します。 –

答えて

4

glom機能を使用します。

val res: RDD[Array[String]] = RDD("a","b","c","d").glom 
// > res = RDD(Array("a", "b", "c", "d")) 

あなたはその後、mkString機能を使用して文字列に配列を変換することができます。

関連する問題