2

我在 Spark 中有要保存到 S3 的数据。推荐的保存方法是使用saveAsTextFileSparkContext上的方法,成功了。我希望数据将保存为“部分”。

我的问题是,当我去 S3 查看我的数据时,它已保存在一个文件夹名称_temporary中,带有一个子文件夹0,然后每个部分或任务都保存在自己的文件夹中。

例如,

data.saveAsTextFile("s3:/kirk/data");

导致文件喜欢

s3://kirk/data/_SUCCESS
s3://kirk/data/_temporary/0/_temporary_$folder$
s3://kirk/data/_temporary/0/task_201411291454_0001_m_00000_$folder$
s3://kirk/data/_temporary/0/task_201411291454_0001_m_00000/part-00000
s3://kirk/data/_temporary/0/task_201411291454_0001_m_00001_$folder$
s3://kirk/data/_temporary/0/task_201411291454_0001_m_00001/part-00001

等等。我期待并看到过类似的东西

s3://kirk/data/_SUCCESS
s3://kirk/data/part-00000
s3://kirk/data/part-00001

这是一个配置设置,还是我需要“提交”保存来解析临时文件?

4

2 回答 2

1

我在使用火花流时遇到了同样的问题,那是因为我的 Sparkmaster 设置为使用conf.setMaster("local")而不是conf.SetMaster("local[*]") 没有,火花在流期间[*]无法执行。saveastextfile

于 2015-02-28T02:32:15.820 回答
0

在导出之前尝试使用 coalesce() 将 rdd 减少到 1 个分区。祝你好运!

于 2015-08-10T20:46:32.877 回答