ことが可能にいくつかの「カスタム条件」を使用して(複数のフィールド上の)2つの(Pair)RDD
S(またはDataset
S/DataFrame
秒)に参加することです/ファジー・マッチングを一致/ファジーカスタム条件を使用して、例えば数字または日付のための範囲/間隔、および様々な「距離法」。 Levenshtein、ストリングス? PairRDD
を取得するRDD
内の「グループ化」のためにApacheのスパーク:参加RDDS(データセット)
、一つはPairFunction
を実装することができますが、2つのRDD
S /データセットを結合する場合と同様の何かができないようですか?
rdd1.join(rdd2, myCustomJoinFunction);
私はhashCode()
とequals()
でカスタム・ロジックを実装することを考えましたが、私は「類似」のデータは同じバケツに巻くようにする方法を確認していない:私のようなものを考えています。私もRDD.cogroup()
を調べていますが、これを実装するためにどのように使用できるかはわかりません。
私はちょうどelasticsearc-hadoopに遭遇しました。そのライブラリがこのようなことをするために使用できるのか誰にも知られていますか?
私はApache Spark 2.0.0を使用しています。私はJavaで実装していますが、Scalaの答えも非常に役に立ちます。
PS。これは私の最初のStackoverflowの質問ですので、私はいくつかの初心者のミスをした場合:)。
[ファジーのためのRDD.cartesianへの代替がApacheSparkに参加]を算出するために多くの時間(http://stackoverflow.comを消費することを覚えておいてください行うことができます/ question/33376727/alternative-to-rdd-cartesian-for-fuzzy-join-in-apachespark)しかし、私のRDD /データセットは大きすぎてメモリ内で 'collect()'することができません。 –