运行 Spark官方python Yarn上的机器学习示例失败
Run Spark official python machine learning example on Yarn failed
我可以 运行 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
通过比较这两个文件,我发现将from pyspark.ml.classification import LogisticRegression
添加到pi.py
后,运行 pi.py
也失败了。
但我不知道如何修复它。我还有一个问题:当我 运行 ml 示例时,我必须将自己的数据文件上传到 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 会话读取(如回归示例)。
我可以 运行 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
通过比较这两个文件,我发现将from pyspark.ml.classification import LogisticRegression
添加到pi.py
后,运行 pi.py
也失败了。
但我不知道如何修复它。我还有一个问题:当我 运行 ml 示例时,我必须将自己的数据文件上传到 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 会话读取(如回归示例)。