他のユーザーと共有しているクラスターで Spark を使用しています。したがって、実行時間だけに基づいて、どのコードがより効率的に実行されるかを判断することは信頼できません。私がより効率的なコードを実行しているとき、他の誰かが巨大なデータを実行している可能性があり、私のコードを長時間実行させているからです。
では、ここで 2 つの質問をしてもよろしいでしょうか。
join
関数を使用して 2 に参加していましたが、次のように を使用する前に使用RDDs
しようとしています:groupByKey()
join
rdd1.groupByKey().join(rdd2)
もっと時間がかかったように見えますが、Hadoop Hive を使用していたとき、グループによってクエリの実行が高速化されたことを覚えています。Spark は遅延評価を使用しているため、
groupByKey
以前より高速になるかどうか疑問に思ってjoin
いますSpark に SQL モジュールがあることに気付きました。今のところ実際に試す時間はありませんが、SQL モジュールと RDD SQL のような関数の違いは何ですか?