【问题标题】:How to save files in same directory using saveAsNewAPIHadoopFile spark scala如何使用 saveAsNewAPIHadoopFile spark scala 将文件保存在同一目录中
【发布时间】:2019-06-21 14:44:58
【问题描述】:

我正在使用火花流,我想以 Avro 格式将每批火花流保存在我的本地。我使用 saveAsNewAPIHadoopFile 以 Avro 格式保存数据。这很好用。但它会覆盖现有文件。下一批数据将覆盖旧数据。有没有办法将 Avro 文件保存在公共目录中?我尝试通过添加 Hadoop 作业 conf 的一些属性来在文件名中添加前缀。但不能使用任何属性。

dstream.foreachRDD {
  rdd.saveAsNewAPIHadoopFile(
      path,
      classOf[AvroKey[T]],
      classOf[NullWritable],
      classOf[AvroKeyOutputFormat[T]],
      job.getConfiguration()
    )
}

【问题讨论】:

    标签: apache-spark spark-streaming avro hadoop2


    【解决方案1】:

    试试这个 -

    您可以将您的流程分为两个步骤:

    Step-01 :- Write Avro file using saveAsNewAPIHadoopFile to <temp-path>
    Step-02 :- Move file from <temp-path> to <actual-target-path>
    

    这肯定会暂时解决您的问题。如果我能一步完成这个场景,而不是两个,我会分享我的想法。

    希望这有帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-29
      • 1970-01-01
      • 2019-10-10
      • 1970-01-01
      • 2016-01-03
      相关资源
      最近更新 更多