私はRDD [Int]を持っていると言います。私がある弁別器の機能によってグループをやると、私はRDD [Int(Iterable [Int])]を残します。apache-sparkでIterableを処理する
このIterableは大きくなる可能性があるため、ノード間で分散する必要があります。しかし、RDDのようにそれを処理する手段はありません。
たとえば、Iterablesの1つを使用してさらにいくつかのペアリングとキーによる集約を行いたい場合は、
または私はそれらのいずれかを並べ替えると、私は定期的なScalaのコレクションが配布されていないので、ここに.toListまたは.toSeqの方法のいずれかを呼び出すために法的ではないと仮定しmedian
を見つけたいと言うことができます。
したがって、Iterablesを扱うための正しいアプローチは何ですか?
あなたは正しいですが、groupByに問題がありますが、Iterableを取得する他の方法があります。たとえば、groupByKey。私の疑問は、イテラブルをどう対処するのかではなく、避ける方法でした。私の使用例の1つは、反復可能[Int]の中央値を見つけることです。 – George
いいえ、 'groupBy'"に問題があります。 "スパークAPIを根本的に誤解しているだけです。また、 'Iterable'"ユースケース "は、あなたの「groupBy」に対する執念の関数としてのみ存在します。 Spark APIに問題があり、思考プロセスではないことが確かなので、少なくともIterableでの操作は問題であることを確認してください。 SparkがGradient-Boosted Treesと潜在的なDirichletの割り当てでいくつかの機械学習を行うことができるなら、私はかなり中央値を計算できると確信しています。 – Vidya