次の方法で共有


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

手記

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

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

エラー: 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 は Databricks Connect クライアントの依存関係であり、リフレクションを使用してプライベート Java メソッドにアクセスしようとしています。これは、セキュリティ上の考慮事項のため、Java 17 では既定でブロックされています。

解決策:

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

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

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

ヒント

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