1
問題文のスパーク - 出力によってグループからCompactBufferを取り外します(RDD)
RDD
入力
Header1^Header2
A^4B
A^11A
B^7A
C^6DF
C^7DS
をグループ化した後(CompactBufferを削除)スパーク出力をフォーマットする必要が所望の出力
私は私の解決策ではval records = sc.textFIle("/user/chronicles/test.txt").map(x => {
val y = x.split("\\^",-1)
(y(0).trim(),
y(1).trim())
}).groupBy(x => x._1)
records.foreach(println)
出力
(A,CompactBuffer((4B,11A)))
(B,CompactBuffer((7A)))
(C,CompactBuffer((6DF,7DS)))
を試してみました、私はforeachのを使用して各要素を読み取ることによって、 "CompactBuffer" を削除してから、言葉に置き換えると、余分なことができますどのよう
置き換えコマンドを使用しているシンボル
他の方法がありますか?データ。
注: 私が続いている: "how to remove compactbuffer in spark output" - この場合にはdidntの仕事をmkString
ありがとう@eliasah - それは働いた:) 追加 - mapValues(_。map(_._ 2).mkString( "("、 "、"、 ")"))私の既存のコードに。 – Debaditya