【问题标题】:Saving RDD to file results in _temporary path for parts将 RDD 保存到文件会导致部件的 _temporary 路径
【发布时间】:2015-01-28 00:58:35
【问题描述】:

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

我的问题是,当我去 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

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

【问题讨论】:

  • 我遇到了同样的问题,它只发生在大量分区上

标签: amazon-s3 apache-spark rdd


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-04-28
      • 2016-06-05
      • 1970-01-01
      • 1970-01-01
      • 2012-02-03
      • 1970-01-01
      • 2020-04-26
      • 2014-11-09
      相关资源
      最近更新 更多