メインコンテンツまでスキップ

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

注記

この記事では、Databricks Runtime13.3LTLTS以降のDatabricks Connectについて説明します。

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

エラー: StatusCode.UNAVAILABLE、StatusCode.UNKNOWN、DNS 解決に失敗しました、またはステータス 500 の http2 ヘッダーを受信しました

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

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

ソリューション

  • ワークスペース インスタンス名が正しいことを確認します。 環境変数を使用する場合は、関連する環境変数がローカルの開発マシンで使用可能で正しいことを確認してください。
  • クラスター ID が正しいことを確認します。 環境変数を使用する場合は、関連する環境変数がローカルの開発マシンで使用可能で正しいことを確認してください。
  • クラスターに、 Databricks Connectと互換性のある正しいカスタムクラスターバージョンがあることを確認します。

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

問題 : Windows で Databricks Connect を使用していて、次のように表示されます。

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

原因 : Databricks Connect は、 パスにスペースがあるディレクトリにインストールされました。

ソリューション : これを回避するには、スペースを含まないディレクトリ パスにインストールするか、 短い名前の形式を使用してパスを構成します。

エラー: MemoryUtil の初期化に失敗しました

問題 : DatabricksSessionをビルドしようとすると、 Failed to initialize MemoryUtilエラーが返されます。

原因 : Apache Arrow は Arrow Databricks Connect クライアントの依存関係であり、リフレクションを使用してプライベート Java メソッドにアクセスしようとしています。これは、セキュリティ上の理由から Java 17 でデフォルトでブロックされています。

ソリューション

JVMの初期化前に、次のJVMフィールドを設定します。

--add-opens=java.base/java.nio=org.apache.arrow.memory.core,ALL-UNNAMED

詳細については、「 Apache Arrow Java Compatibility」を参照してください。

ヒント

IntelliJ で Java オプションを設定するには、 IntelliJ の実行/デバッグ構成を参照してください。