Databricks ノートブックでの Databricks Connect for Python のサポート
注:
この記事では、Databricks Runtime13.3LTLTS以降のDatabricks Connectについて説明します。
Databricks Connect では、Databricksの外部Databricksローカル開発環境からコンピュートに接続できます。その後、コードを Databricks のノートブックまたはジョブに移動する前に、IDE から直接コードを開発、デバッグ、テストできます。 「Databricks Connect とは」を参照してください。
Jupyter ノートブックでの Databricks Connect の使用に関する情報については、「Databricks Connect for の Pythonでクラシック Jupyter ノートブックを使用する」を参照してください。
ポータビリティ
ローカル開発からデプロイ、 へのシームレスな移行を実現するために、すべてのDatabricks は、対応するDatabricks ConnectAPIs の一部としてDatabricks ノートブックで使用できます。Databricks Runtimeこれにより、コードを変更せずに Databricks ノートブックでコードを実行できます。
DatabricksSession の動作
DatabricksSession
の動作は、ローカル開発環境で Databricks Connect for Python を使用する場合と、Databricks ワークスペースのノートブックとジョブで使用する場合とでは少し異なります。
ローカル開発環境の動作
Databricks の外部の IDE 内でコードをローカルに実行する場合、 DatabricksSession.builder.getOrCreate()
は、指定された構成の既存の Spark セッション (存在する場合) を取得するか、存在しない場合は新しい Spark セッションを作成します。 DatabricksSession.builder.create()
は常に新しい Spark セッションを作成します。 host
、 token
、 cluster_id
などの接続パラメーターは、ソース コード、環境変数、または .databrickscfg
構成プロファイル・ファイルから取り込まれます。
つまり、Databricks Connect を使用して実行すると、次のコードによって 2 つの個別のセッションが作成されます。
spark1 = DatabricksSession.builder.create()
spark2 = DatabricksSession.builder.create()
Databricks ワークスペースの動作
Databricks ワークスペースのノートブックまたはジョブでコードを実行する場合、DatabricksSession.builder.getOrCreate()
は、追加の構成なしで使用すると、デフォルト Spark セッション (spark
変数を介してもアクセス可能) を返します。spark
変数は、ノートブックまたはジョブがアタッチされているコンピュートインスタンスに接続するように事前に設定されています。新しい Spark セッションは、 DatabricksSession.builder.clusterId(...).getOrCreate()
や DatabricksSession.builder.serverless().getOrCreate()
などを使用して追加の接続パラメーターが設定されている場合に作成されます。
DatabricksSession.builder.create()
requires 明示的な接続パラメーター ( DatabricksSession.builder.clusterId(...).create()
など) をノートブックに入力しないと、 [UNSUPPORTED]
エラーが返されます。
Databricks ConnectDatabricksノートブックやジョブに接続されていないコンピュート を使用して接続するためにremote()
host()
token()
を使用することが可能です。、設定 kwargs または や などの個々の設定方法を使用します。このような場合、参照されるコンピュートに対して新しいセッションが作成されます。これは、 Databricks ノートブックまたはジョブの外部で使用される場合と同様に行われます。