(accountid, mid, url, spent)
RDD(("55E5", 5, "https://www.google.com/", 5774),
("55E5", 5, "https://www.google.com/", 543),
("55E5", 5, "https://www.google.com/", 52),
("55E5", 5, "https://www.google.com/", 85),
("55E5", 5, "https://www.google.com/", 54),
("55E5", 5, "https://www.google.com/", 287),
("54XJ", 5, "https://www.google.com/", 853),
("54XJ", 5, "https://www.google.com/", 2),
("54XJ", 5, "https://www.google.com/", 55),
("54XJ", 5, "https://www.google.com/", 984),
("54XJ", 5, "https://www.google.com/", 24),
("54XJ", 5, "https://www.google.com/", 57))
("745K", 5, "https://www.google.com/", 853),
("745K", 5, "https://www.google.com/", 2),
("745K", 5, "https://www.google.com/", 55),
("745K", 5, "https://www.google.com/", 984),
("745K", 5, "https://www.google.com/", 24),
("745K", 5, "https://www.google.com/", 57))
私はこのようなタプルのRDDを持っていると言いますが、上記のように注文されていません。私は上記の各口座IDのために最高の3つの最高額に戻したいと思っています。スパークで減少するフィルタ
私はそれらを.sortBy(x => (x._1, x._4))
で注文してから折り畳みをしていると思っていましたが、自分のRDDに戻す方法はわかりません。これを行うにはよりエレガントな方法が必要です。また、場合によっては3つ以下のアイテムがあるかもしれません。私は戻って私のRDDに追加する方法がわからない
最終結果はどうなるでしょうか? 'RDD [(accountID、Seq [費やし])]'? – puhlen