2016-05-20 26 views
0

「HBase」から「スキャン」アクションを使用してRDDを取得しました。 このRDDの各項目は次のようである:X1、Y1、Y2、Y3 ... (各ラインはスキャン動作の行結果である)ように、このRDDの項目があるので:RDD(Spark)のアイテムをRDDの多くのアイテムに変換する方法は?

  1. X1、Y1、私はこれを変換したいY2、Y3
  2. X2、Y1、Y4、Y8、Y9
  3. X3、Y5
  4. ......
  5. XN、Y1、Y6、Y100

RDDから別のRDDへ:

  1. X1、Y1
  2. X1、Y2
  3. X1、Y3
  4. X2、Y1
  5. X2、Y4
  6. ...
  7. XN、Y1
  8. XN、 y6
  9. xn、y100

この変換はどのように行うことができますか?

+0

私ははい、それはタイプミスである第2項目はタイプミスであると仮定...そして代わりX2 –

+0

のX1されなければなりません。私はそれを変更する。ありがとう! @JustinPihony – York

答えて

2

"flatMap that sh*t"

rdd.flatMap(x => { 
    val key = x.head 
    x.tail.map(y=>(key,y)) 
}) 
+0

いいえ、単純に頭を尾の各アイテムと組み合わせるのではありません。最後のいくつかの例を見ると、2番目の項目は 'f(xn)'によって計算されます。 – davidshen84

+0

@ davidshen84あなたはそれをどう思いますか? –

+0

申し訳ありませんが、2番目の項目はタイプミスです。私はそれを編集しました。@ davidshen84 – York

関連する問題