pyspark的输出不会显示在s3存储桶中

时间:2018-12-03 12:44:34

标签: amazon-web-services pyspark amazon-emr

这里是AWS新手,我正在尝试在EMR集群上运行pyspark作业,但似乎无法弄清楚为什么我的输出不会保存到指定的s3存储桶中。

from pyspark import SparkContext

if __name__ == "__main__":
    sc = SparkContext(appName="appName")
    rdd = sc.parallelize([1,2,3,4,5])
    rdd.saveAsTextFile("s3a://ouput-bucket/output")
    sc.stop()

我使用脚本提交工作

#!bin/bash
aws s3 cp $2 s3://bucket-with-script/script.py 

aws emr add-steps --cluster-id $1 \
--steps Type=spark,Name=appName,\
Args=[--deploy-mode,cluster,--master,yarn,\
--verbose,\
--conf,spark.yarn.submit.waitAppCompletion=False,\
--num-executors,5,\
--executor-cores,5,\
--executor-memory,2g,\
s3a://bucket-with-script/script.py,\]\
,ActionOnFailure=CONTINUE

我在做错什么吗?

stderr: https://paste.ee/p/OwSOj

编辑:我不知道这是否会改变任何东西,但是我正在通过ec2实例来完成所有这些工作。

1 个答案:

答案 0 :(得分:0)

尝试将级别降低一级,例如s3a://bucket/dest/out.csv

该根目录总是存在一些“异常”,原因是它很特殊:即使您删除了它,它也始终存在,并且类似。