2

参加する必要がある共通キーのない 2 つの Spark RDD があります。

最初の RDD は cassandra テーブルからのもので、参照セットの項目 (id、item_name、item_type、item_size) が含まれています (例: (1, 'item 1', 'type_a', 20))。2 番目の RDD は別のシステムから毎晩インポートされ、id なしでほぼ​​同じデータが含まれ、生の形式 (raw_item_name、raw_type、raw_item_size) です ('item 1.'、'type a'、20)。

ここで、データの類似性に基づいて、これら 2 つの RDD を結合する必要があります。RDD のサイズは約 10000 ですが、将来的には大きくなります。

私の実際の解決策は、両方のRDDをデカルト結合し、各行の参照属性と生属性の間の距離を計算し、IDでグループ化し、最適な一致を選択することです。

このサイズの RDD では、このソリューションは機能していますが、将来的にデカルト結合が大きくなりすぎるのではないかと心配しています。

より良い解決策は何ですか?Spark MLlib を調べてみましたが、どこから始めればよいか、どのアルゴリズムを使用すればよいかなどわかりませんでした。アドバイスをいただければ幸いです。

4

0 に答える 0