関連する(しかし同じではない)キーの値の違いを調べようとしています。 - との違いを取得scala/sparkの異なるキーの値を比較する
(“John_1”,[“a”,”b”,”c”])
(“John_2”,[“a”,”b”])
(“John_3”,[”b”,”c”])
(“Mary_5”,[“a”,”d”])
(“John_5”,[“c”,”d”,”e”])
私は名前に名_番号の内容を比較したい_(1#):たとえば、私は、次のマップを持っていることを言うことができます。したがって、上記の例のために、私は(取得したいと思い例:
(“John_1”,[“a”,”b”,”c”]) //Since there is no John_0, all of the contents are new, so I keep them all
(“John_2”,[]) //Since all of the contents of John_2 appear in John_1, the resulting list is empty (for now, I don’t care about what happened to “c”
(“John_3”,[”c”]) //In this case, “c” is a new item (because I don’t care whether it existed prior to John_2). Again, I don’t care what happened to “a”.
(“Mary_5”,[“a”,”d”]) //There is no Mary_4 so all the items are kept
(“John_5”,[“c”,”d”,”e”]) //There is no John_4 so all the items are kept.
私はaggregateByKeyのいくつかの種類をやって、その後、ちょうどリストの違いを見つけるに考えていたが、私が作る方法がわかりません私は名前を持つ、すなわち名_番号_、気にキーの間の一致(# - 1)
返信いただきありがとうございます。私は自分のデータが約2TBのRDDであると付け加えておきます。そうだとすれば、私は合体を使うことができないと思うか、それとも並列処理を打ち消すだろうと思いますよね? また、RDDは.toDFメソッドを持っていないようですが、それは私が使用できる別の同等のものですか? – jfmancilla
これはSQL結合であり、 'RDD.coalesce'や' DataFrame.coalesce'ではありません。ウィンドウ関数はシャッフルされますが、私はそれについて多くを行うことはできません。 – user8371915