2016-07-07 3 views
-2

私は2つのRDD [文字列]、1つはラベル、もう1つはフィーチャーです。彼らは同じ行を持っています。どのように行ごとにマージできますか?スパークで2つのRDD [文字列]をどのようにマージできますか?

feature: org.apache.spark.rdd.RDD[String] 
res127: String = 11,0,7,18 
label: org.apache.spark.rdd.RDD[String] 
res160: String = 1 

それぞれには何千もの行がありますが、最初の行を入れています。 私はすべての行は、私は参加してみました。この

res: String = 1,11,0,7,18 

(ように見える新しいRDD [文字列])を持つようにしたい、それが行うことはできません。

答えて

0

、私が思うに、してみてくださいfeature ++ label

def ++(other: RDD[T]): RDD[T] 
Return the union of this RDD and another one. 
0

zipを試しましたか?これにより、それぞれのラベルと機能のキー値のペアが得られます。 2つのコンポーネントへのアクセスを容易にするために、このスタイルでそれらを保持することができます。必要な場合は、単一の文字列に変換できます。

また、ラベルをリストの先頭に追加するだけの場合は、より適切です。これには、不要なラベルを削除するforeach/filterを接頭辞として使用できます。あなたはスカラを使用している場合

関連する問題