在Yarn上运行Spark官方Python机器学习示例失败

我可以通过以下命令成功在Yarn上运行pi.py示例:./bin/spark-submit --master yarn --deploy-mode cluster examples/src/main/python/pi.py

但是当我运行./bin/spark-submit --master yarn --deploy-mode cluster examples/src/main/python/ml/logistic_regression_with_elastic_net.py时,失败了。错误信息是:Container exited with a non-zero exit code 1

通过比较这两个文件,我发现当我在pi.py中添加from pyspark.ml.classification import LogisticRegression后,运行pi.py也失败了。

但我不知道如何修复这个问题。我还有另一个问题:当我运行机器学习示例时,我需要将自己的数据文件上传到HDFS,所以我尝试使用--files,这样做对吗?如果对的话,由于我不知道数据文件在HDFS上的路径,Python脚本无法获取数据文件。(我可以在文件上传到HDFS后看到路径,即hdfs://master:9000/user/root/.sparkStaging/application_1488329960574_0011/mnist8m_800,但这太晚了,我可以在提交时指定路径吗?)


回答:

要运行logistic_regression_with_elastic_net,你需要像这样将样本libsvm数据上传到HDFS:

$ hdfs dfs -mkdir -p data/mllib$ hdfs dfs -put data/mllib/sample_libsvm_data.txt data/mllib

然后示例将在yarn-client和yarn-cluster模式下都能正常工作。

据我所知,通过--files上传的文件无法通过spark会话读取(如回归示例中所示)。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注