0

スパークを使用しています。私はJavaPairRDDフォームのを持ってい<Documentname, Tuple2<Phrase, URL>>ます。

URLで指定されたページにフレーズがあるかどうかを基本的に確認した結果、上記の構造になりました。

現在、いくつかの重複するフレーズがあり (つまり、「to be or」は「to be or not to be」の中にあります)、大きなフレーズに含まれるこれらの短いフレーズを削除したいと考えています。

私は Spark に少し慣れていないので、Spark 内でこれを行う方法がわかりません。

二重のネストされたループを作成し、要素を collect() することで実行できることはわかっていますが、削減または集計を使用して Spark 内でそれを実行する方法があるかどうか疑問に思っています。

基本的に、フレーズの各ペアをチェックし、一方が他方に含まれていない場合は両方のフレーズを返すか、一方が含まれている場合は 1 つのフレーズのみを返す関数が必要です。

または、何らかのフィルターを実行して、これらの短いフレーズを削除したいと思います。

何か案は?

編集: CombinebyKey または AggregateByKey のいずれかが機能すると考えていますが、Java でそれらを使用する方法がわかりません。シーケンス・コンバイナー機能とは?

> のいくつかの要素をキーで組み合わせて、1 つのフレーズが他のフレーズに含まれていないタプルのリストを作成したいと考えています。

4

1 に答える 1