私は私がいた私は、「ThreadPoolExecutor.java:1142で実行する」の説明といくつかのジョブがあることがわかり、スパークUIを見てみるとスパークSQL 1.6.1 を使用してWeb UIのThreadPoolExecutorsジョブとは何ですか?
をいくつかのスパークジョブを実行していますよなぜいくつかの仕事はその説明を取得するのだろうか?
私は私がいた私は、「ThreadPoolExecutor.java:1142で実行する」の説明といくつかのジョブがあることがわかり、スパークUIを見てみるとスパークSQL 1.6.1 を使用してWeb UIのThreadPoolExecutorsジョブとは何ですか?
をいくつかのスパークジョブを実行していますよなぜいくつかの仕事はその説明を取得するのだろうか?
調査の結果、がThreadPoolExecutor.java:1142で実行されていることがわかりました。スパークジョブは、join
オペレータのクエリに関連しています。あなたはSQL]タブに切り替えると
scala> spark.version
res16: String = 2.1.0-SNAPSHOT
scala> val left = spark.range(1)
left: org.apache.spark.sql.Dataset[Long] = [id: bigint]
scala> val right = spark.range(1)
right: org.apache.spark.sql.Dataset[Long] = [id: bigint]
scala> left.join(right, Seq("id")).show
+---+
| id|
+---+
| 0|
+---+
あなたは完了クエリセクションを参照してくださいする必要があり、そのジョブズ(右側)。私の場合は
スパークジョブ(複数可)のID 12および16
は、彼らの両方がjoin
問い合わせに対応し、 "ThreadPoolExecutor.java:1142で実行" で実行されています。
「私の結合の1つがこのジョブを表示させているのは間違いありませんが、ジョインがシャッフル変換でありアクションではないことがわかっている限り、なぜジョブはThreadPoolExecutorで記述され、
Spark SQLは、Sparkの拡張であり、それ自体の抽象化(Dataset
)は、その名前を付けるだけです。すぐに心に湧いてくる)。 1つの「シンプルな」SQL操作で、1つ以上のSparkジョブを実行できます。 Spark SQLの実行エンジンの裁量で、実行または送信するスパークジョブの数(ただし、カバーの下でRDDを使用しています) - このような低レベルの詳細はわかりません。 Spool SQLのSQLやQuery DSLを使用することで、あなたは非常に高いレベルになっています。
あなたは 'join'sをやっていますか? –
あなたの質問を書いたときに、私はコンピュータの近くにいなかった。 Spark SQLを使用していて、結合を実行しています – Gideon
実行した結合を共有できますか? SQLタブを見て、スパークジョブをクエリに関連付けます。あなたの質問からの質問は何ですか?なぜ私たちがなぜWeb UIで 'TPE'を走らせるのかを説明できるだけの十分な知識があると信じているだけです。私たちはいませんか? –