Azure databricks Pyspark.ml 问题构造函数 public org.apache.spark.ml.feature.OneHotEncoder(java.lang.String) 未列入白名单

问题描述 投票:0回答:1

我使用 pyspark.ml 在 Azure Databricks 上运行 RandomForest。

错误信息:

Py4JError: An error occurred while calling None.org.apache.spark.ml.feature.OneHotEncoder. Trace: py4j.security.Py4JSecurityException: Constructor public org.apache.spark.ml.feature.OneHotEncoder(java.lang.String) is not whitelisted.

运行时:14.3.x-scala2.12

政策:共享计算

访问模式:共享

实例:Standard_D4ads_v5

它与 Databricks 个人计算一起工作正常,但是在 共享计算中出现问题。我只想在个人计算中使用共享计算因为我面临着不同的问题,例如(列不可迭代。)

有什么解决办法吗?

azure pyspark databricks
1个回答
0
投票

错误:Py4JError:调用时发生错误 无.org.apache.spark.ml.feature.OneHotEncoder。痕迹: py4j.security.Py4JSecurityException:构造函数公共 org.apache.spark.ml.feature.OneHotEncoder(java.lang.String) 不是 已列入白名单。

此问题是由集群模式或访问模式(如高并发、共享、单用户等)与凭据直通设置的特定组合引起的。

由于ERROR

Py4J
安全限制有关,这可能会限制对共享环境中某些类的访问。 我已经尝试过以下
configspark.databricks.pyspark.enablePy4JSecurity false

spark.databricks.pyspark.enableProcessIsolation false

错误详情:

spark.databricks.pyspark.enableProcessIsolation is only allowed when the security mode is Custom or None.

enter image description here

enter image description here

enter image description here

既然您可以在个人计算中使用随机森林作为解决方法,我已经使用

spark.databricks.pyspark.enableProcessIsolation false

尝试了以下方法

在 Spark 配置中使用 NO ISOLATION SHARED 集群。 上述配置适用于

RandomForest

from pyspark.ml.classification import RandomForestClassifier
from pyspark.ml.feature import StringIndexer, VectorAssembler
from pyspark.ml import Pipeline

结果:


+---+--------+-----+-----+----------+
| id|category|value|label|prediction|
+---+--------+-----+-----+----------+
|  0|       A|   10|  0.0|       0.0|
|  1|       B|   20|  1.0|       1.0|
|  2|       A|   30|  0.0|       0.0|
|  3|       C|   40|  1.0|       1.0|
|  4|       B|   50|  0.0|       0.0|
+---+--------+-----+-----+----------+

了解更多关于 py4j.security.Py4JSecurityException: ... 未列入白名单

Unity Catalog 上的共享访问模式限制

© www.soinside.com 2019 - 2024. All rights reserved.