来自 /tmp 的 Pyspark Systemml writing/reading
Pyspark Systemml writing/reading from /tmp
我是 运行 Flask 应用程序,通过 pyspark 具有 systemml SVM 组件。该应用程序运行了大约一天左右,然后每当使用 SVM 进行预测时它就会开始出错。抛出的错误是:
Caused by: java.io.FileNotFoundException: /tmp/systemml/_p1_10.101.38.73/cache/cache000005058.dat (No such file or directory)
我相信正在发生的事情是 systemml 正在写入 /tmp/ 然后最终被我正在使用的容器清除。然后当它进行预测时,它会尝试读取该文件并出错。我的猜测是否正确?解决这个问题的最佳方法是什么?有没有办法告诉 systemml 将其缓存写入何处?
感谢您的帮助!
是的,在 SystemML master(和即将发布的版本)中,您可以简单地使用 ml.setConfigProperty("localtmpdir", "/tmp2/systemml")
来修改此缓存目录或任何其他配置。但是,SystemML 0.14 中的 Python MLContext API 还没有暴露这一点。
作为一种变通方法,您也可以将带有自定义配置的 SystemML-config.xml
(参见 systemml/conf 模板)放入 SystemML.jar 已安装的目录中。
我是 运行 Flask 应用程序,通过 pyspark 具有 systemml SVM 组件。该应用程序运行了大约一天左右,然后每当使用 SVM 进行预测时它就会开始出错。抛出的错误是:
Caused by: java.io.FileNotFoundException: /tmp/systemml/_p1_10.101.38.73/cache/cache000005058.dat (No such file or directory)
我相信正在发生的事情是 systemml 正在写入 /tmp/ 然后最终被我正在使用的容器清除。然后当它进行预测时,它会尝试读取该文件并出错。我的猜测是否正确?解决这个问题的最佳方法是什么?有没有办法告诉 systemml 将其缓存写入何处?
感谢您的帮助!
是的,在 SystemML master(和即将发布的版本)中,您可以简单地使用 ml.setConfigProperty("localtmpdir", "/tmp2/systemml")
来修改此缓存目录或任何其他配置。但是,SystemML 0.14 中的 Python MLContext API 还没有暴露这一点。
作为一种变通方法,您也可以将带有自定义配置的 SystemML-config.xml
(参见 systemml/conf 模板)放入 SystemML.jar 已安装的目录中。