嗨,我正在尝试学习如何使用 pyspark,但是当我运行第一行时:
import pyspark
sc = pyspark.SparkContext('local[*]')
我收到此错误:
Py4JJavaError: An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.
: java.lang.IllegalAccessError: class org.apache.spark.storage.StorageUtils$ (in unnamed module @0x724b93a8) cannot access class sun.nio.ch.DirectBuffer (in module java.base) because module java.base does not export sun.nio.ch to unnamed module @0x724b93a8
我似乎找不到导致它的原因:/
Spark 运行于Java 8/11
、Scala 2.12、Python 3.6+ 和 R 3.5+。从 Spark 3.2.0 开始,Python 3.6 支持已弃用。
从 Spark 3.2.0 开始,不推荐使用 8u201 版本之前的 Java 8 支持
对于 Scala API,Spark 3.2.0 使用 Scala 2.12。您将需要使用兼容的 Scala 版本 (2.12.x)。
对于 Python 3.9,由于 Apache Arrow 中支持的 Python 版本,Arrow 优化和 pandas UDF 可能无法工作。请参阅最新的Python兼容性页面。
For Java 11
, -Dio.netty.tryReflectionSetAccessible=true
Apache Arrow 库还需要。当 Apache Arrow 在内部使用 Netty 时,这可以防止 java.lang.UnsupportedOperationException: sun.misc.Unsafe 或 java.nio.DirectByteBuffer.(long, int) 不可用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)