次の方法で共有


Databricks ノートブックの実行コンテキスト

ノートブックをクラスターにアタッチすると、Azure Databricks によって実行コンテキストが作成されます。 実行コンテキストには、サポートされている各プログラミング言語 (Python、R、Scala、および SQL) の REPL 環境の状態が含まれます。 ノートブック内のセルを実行すると、コマンドは適切な言語 REPL 環境にディスパッチされ、実行されます。

コマンド実行 API を使用して実行コンテキストを作成し、その実行コンテキストで実行するようにコマンドを送信することもできます。 コマンドは同様に言語 REPL 環境にディスパッチされ、実行されます。

クラスターには、実行コンテキストの最大数 (145) があります。 実行コンテキストの数がこのしきい値に達すると、クラスターにノートブックをアタッチしたり、新しい実行コンテキストを作成したりできません。

アイドル状態の実行コンテキスト

最後に完了した実行が、設定されているアイドルしきい値を超えると、実行コンテキストは "アイドル状態" であると見なされます。 最後に完了した実行とは、ノートブックがコマンドの実行を最後に完了した時刻です。 アイドルしきい値とは、最後に完了した実行と、ノートブックを自動的にデタッチしようとする試行との間に経過する必要がある時間です。

クラスターが最大コンテキスト制限に達すると、必要に応じて、Azure Databricks はアイドル状態の実行コンテキスト (最も古く使用されたコンテキストから開始) を削除 (除去) します。 コンテキストが削除された場合でも、コンテキストを使用するノートブックは "クラスターに引き続きアタッチされていて、クラスターのノートブックの一覧に表示されます"。 ストリーミング ノートブックはアクティブに実行されているとみなされ、実行が停止されるまでコンテキストは削除されません。 アイドル状態のコンテキストが削除された場合、UI には、コンテキストを使用しているノートブックがアイドル状態のためにデタッチされたことを示すメッセージが表示されます。

削除されたノートブックのコンテキスト

最大数の実行コンテキストを持つクラスターにノートブックをアタッチしようとしてアイドル状態のコンテキストがない場合 (または自動除去が無効になっている場合)、UI には、現在の最大実行コンテキストのしきい値に達し、ノートブックがデタッチされた状態のままであるというメッセージが表示されます。

削除されたノートブック

プロセスをフォークした場合、アイドル状態の実行コンテキストは、プロセスをフォークした要求の実行が戻った後もアイドル状態と見なされます。 Spark では、個別のプロセスのフォークは "推奨されません"。

コンテキストの自動削除を構成する

自動削除は、既定で有効になっています。 クラスターの自動削除を無効にするには、Spark プロパティ spark.databricks.chauffeur.enableIdleContextTracking false を設定します。

Spark と Databricks Runtime のバージョンを判別する

ノートブックのアタッチ先のクラスターの Spark バージョンを判別するには、次を実行します。

spark.version

ノートブックのアタッチ先のクラスターの Databricks Runtime バージョンを判別するには、次を実行します。

spark.conf.get("spark.databricks.clusterUsageTags.sparkVersion")

注意

この sparkVersion タグと、Clusters API およびJobs API でエンドポイントが必要とする spark_version プロパティは両方とも Spark バージョンではなく Databricks Runtime バージョンを指しています。