ValueError:尝试在 pyspark 中的非包中进行相对导入/无法找到 kmodes 模块(pyspark)

Posted

技术标签:

【中文标题】ValueError:尝试在 pyspark 中的非包中进行相对导入/无法找到 kmodes 模块(pyspark)【英文标题】:ValueError: Attempted relative import in non-package in pyspark/not able to find the kmodes module(pyspark) 【发布时间】:2017-10-24 17:33:15 【问题描述】:

ValueError:尝试在 pyspark 中的非包中进行相对导入。当我尝试在 pyspark 中使用 kmode 时出现上述错误。所以我使用 parrelelize kmode 包 sc.addFile("home/pyspark-distributedkmodesmaster/pyspark_kmodes/pyspark_kmodes.py") 。如果我不使用 sc 上下文添加文件代码,它会抛出错误 - “找不到 kmodes 模块”。 我正在使用以下代码/链接或 kmodes pyspark 包 - "https://github.com/ThinkBigAnalytics/pyspark-distributed-kmodes/blob/master/pyspark_kmodes"

【问题讨论】:

【参考方案1】:

它是一个包,您只部署其中包含的一个 py 文件。由于pyspark_kmodes.py 中存在相对导入:

from .Kmodes import KModes

.Kmodes 中的 . 表示它应该在同一文件夹(在包文件夹内)中查找文件 KModes.py

【讨论】:

嘿,谢谢,我将所有文件合并到一个 py 中,然后将其带入 spark 上下文。它现在正在工作

以上是关于ValueError:尝试在 pyspark 中的非包中进行相对导入/无法找到 kmodes 模块(pyspark)的主要内容,如果未能解决你的问题,请参考以下文章

Pyspark - ValueError:无法将字符串转换为浮点数/浮点()的无效文字

pyspark:ValueError:推断后无法确定某些类型

PySpark - ValueError:无法将列转换为布尔值

如何在 PySpark 中压缩两个 RDD?

Pyspark rdd.zip ValueError:无法反序列化具有不同成对项目数的 RDD

Jupyter Notebook Logging ValueError: I/O Operation on Closed File