无法使 private java.nio.DirectByteBuffer(long,int) 可访问

Unable to make private java.nio.DirectByteBuffer(long,int) accessible

我正在使用 Python 通过 databricks-connect 访问 Databricks。在墙后面,它使用确实基于 java 的 spark,所以为了使用它,我需要 java。 JDK 已下载(版本 14),设置为 JAVA_HOME env 但是当我 运行 代码时,出现以下错误:

Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make private java.nio.DirectByteBuffer(long,int) accessible: module java.base does not "opens java.nio" to unnamed module @bccb269

这是崩溃的代码

from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()

我用谷歌搜索但没有找到这个错误,我认为这不是我第一次遇到。知道这个错误是什么意思吗?我该如何解决?

Databricks Runtimes 和 databricks-connect 不适用于 Java 14。只有 DBR 10.x 有对 Java 11 的实验性支持,但我怀疑它是否支持 databricks -连接。

您需要安装 Java 8 才能使用 databricks-connect。