我可以在纱线上成功运行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
也失败了。
,但我不知道如何修复它。而且我还有另一个Quetion:运行ML示例时,我必须将自己的数据文件上传到HDFS,所以我尝试使用--files
,对吗?如果是正确的,则由于我不知道HDFS上数据文件的路径,因此Python脚本无法获取数据文件。(我可以在将文件上传到HDF之后看到路径,即hdfs://master:9000/user/root/.sparkStaging/application_1488329960574_0011/mnist8m_800
,但为时已晚,我可以在提交时指定路径吗?)
运行 logistic_regression_with_elastic_net 您需要将示例libsvm数据上传到这样的HDF:
$ hdfs dfs -mkdir -p data/mllib
$ hdfs dfs -put data/mllib/sample_libsvm_data.txt data/mllib
然后,示例将与纱线 - 属性和纱线群集模式一起使用。
据我所知,--files
上传的文件无法使用Spark Session读取(例如在回归示例中)。