1

我使用 pyspark

并使用 MLUtils saveaslibsvm在标签点上保存 RDD

它可以工作,但将这些文件保留在 /_temporary/ 下的所有工作节点中的文件数量。

没有抛出错误,我想将文件保存在正确的文件夹中,最好将所有输出保存到一个 libsvm 文件中,该文件将位于节点或主服务器上。

那可能吗?

编辑 +++++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++ 无论我做什么,我都无法使用 MLUtils.loadaslibsvm() 从我用来保存它的同一路径加载 libsvm 数据. 也许写文件有问题?

4

1 回答 1

1

这是 Spark 的正常行为。所有写入和读取活动都直接从工作节点并行执行,数据不会传递到驱动节点或从驱动节点传递。

这就是为什么应该使用可以从每台机器访问的存储来执行读取和写入,例如分布式文件系统、对象存储或数据库。将 Spark 与本地文件系统一起使用的应用非常有限。

对于测试,您可以使用网络文件系统(它很容易部署),但它在生产中无法正常工作。

于 2017-08-01T17:00:58.480 回答