ローカルモードでSpark2.0.2を使用しています。私は2つのデータセットを結合する結合を持っています。Spark Dataset Error:この結合の両側がブロードキャストのしきい値外にあり、計算が非常に高価になる可能性があります。
spark sqlまたはdataframe API(型なしのデータセット[行])を使用すると非常に高速です。 しかし、型付きDataset APIを使用すると、以下のエラーが発生します。
スレッド "main"の例外org.apache.spark.sql.AnalysisException:この結合の両側がブロードキャスト・スレッショルドの外側にあり、計算が非常に高価になる可能性があります。明示的に有効にするには、spark.sql.crossJoin.enabled = trueを設定してください。
「spark.sql.conf.autoBroadcastJoinThreshold」が増加しますが、それでも同じエラーです。そして、私は "spark.sql.crossJoin.enabled"を "true"に設定しますが、それは動作しますが、完了には非常に時間がかかります。
私は再分割をしませんでした。ソースは2つの部分です。
こんにちは、私はお返事ありがとうございます。しかしそれはまだ同じです。私はds1.joinWith(ブロードキャスト(ds2)、ds1( "key1")=== ds2( "key2")、 "left_outer")を使用します。それはまだ非常に遅いです。また、型なしのAPIやSQLを使用すると非常に高速ですが、私はbroadcast()関数を使用する必要はありません。 –