Databricks Connect for Python のトラブルシューティング

この記事では、Databricks Runtime 13.3 LTS 以降の Databricks Connect について説明します。

この記事では、Databricks Connect for Python のトラブルシューティング情報を提供します。 Databricks Connect を使用すると、一般的な IDE、ノートブック サーバー、およびカスタム アプリケーションを Databricks クラスターに接続できます。 「Databricks Connect とは」を参照してください。この記事の Scala バージョンについては、「 Scala の Databricks Connect のトラブルシューティング」を参照してください。

エラー: ステータス コードは使用できません、ステータス コード.不明、DNS 解決に失敗しました、またはステータス 500 の http2 ヘッダーを受信しました

問題: Databricks Connect を使用してコードを実行しようとすると、 StatusCode.UNAVAILABLEStatusCode.UNKNOWNDNS resolution failedReceived http2 header with status: 500などの文字列を含むエラー メッセージが表示されます。

考えられる原因: Databricks Connect がクラスターに到達できません。

推奨ソリューション:

  • ワークスペースのインスタンス名が正しいことを確認します。 環境変数を使用する場合は、関連する環境変数がローカル開発コンピューターで使用可能で正しいことを確認してください。

  • クラスター ID が正しいことを確認します。 環境変数を使用する場合は、関連する環境変数がローカル開発コンピューターで使用可能で正しいことを確認してください。

  • クラスターに、Databricks Connect と互換性のある正しいカスタム クラスター バージョンがあることを確認します。

Python のバージョンの不一致

ローカルで使用している Python のバージョンに、少なくともクラスター上のバージョンと同じマイナー リリースがあることを確認します (たとえば、 3.10.113.10.10 は OK ですが、 3.103.9 はそうではありません)。

複数の Python バージョンがローカルにインストールされている場合は、 PYSPARK_PYTHON 環境変数 ( PYSPARK_PYTHON=python3など) を設定して、Databricks Connect で正しいバージョンが使用されていることを確認します。

競合する PySpark のインストール

databricks-connect パッケージは PySpark と競合しています。両方をインストールすると、Python で Spark コンテキストを初期化するときにエラーが発生します。 これは、「ストリームが破損しています」や「クラスが見つかりません」エラーなど、いくつかの方法で発生する可能性があります。 Python 環境に PySpark がインストールされている場合は、databricks-connect をインストールする前に、PySpark がアンインストールされていることを確認してください。 PySpark をアンインストールした後、Databricks Connect パッケージを完全に再インストールしてください。

pip3 uninstall pyspark
pip3 uninstall databricks-connect
pip3 install --upgrade "databricks-connect==14.0.*"  # or X.Y.* to match your specific cluster version.

バイナリの{0}エントリが競合または欠落しています

spark-shell のようなコマンドが、Databricks Connect で提供されているバイナリではなく、以前にインストールされた他のバイナリを実行するように PATH が構成されている可能性があります。Databricks Connect バイナリが優先されることを確認するか、以前にインストールされたバイナリを削除する必要があります。

のようなコマンドを実行できない場合は spark-shellPATHが pip3 install によって自動的に設定されていない可能性があり、インストール bin dirをPATHに手動で追加する必要があります。 Databricks Connect は、これが設定されていない場合でも、IDE で使用できます。

ファイル名、ディレクトリ名、またはボリューム ラベルの構文が Windowsで正しくない

Windows で Databricks Connect を使用している場合は、以下を参照してください。

The filename, directory name, or volume label syntax is incorrect.

Databricks Connect が、パスにスペースがあるディレクトリ インストールされました。 これを回避するには、スペースを含まないディレクトリパスにインストールするか、 短い名前形式を使用してパスを構成します。