apache-spark - 如何使用 saveAsNewAPIHadoopFile spark scala 将文件保存在同一目录中
问题描述
我正在使用火花流,我想以 Avro 格式将每批火花流保存在我的本地。我曾经saveAsNewAPIHadoopFile
以 Avro 格式保存数据。这很好用。但它会覆盖现有文件。下一批数据将覆盖旧数据。有没有办法将 Avro 文件保存在公共目录中?我尝试通过添加 Hadoop 作业 conf 的一些属性来在文件名中添加前缀。但不工作任何属性。
dstream.foreachRDD {
rdd.saveAsNewAPIHadoopFile(
path,
classOf[AvroKey[T]],
classOf[NullWritable],
classOf[AvroKeyOutputFormat[T]],
job.getConfiguration()
)
}
解决方案
尝试这个 -
您可以将您的流程分为两个步骤:
Step-01 :- Write Avro file using saveAsNewAPIHadoopFile to <temp-path>
Step-02 :- Move file from <temp-path> to <actual-target-path>
这肯定会暂时解决您的问题。如果我能一步完成这个场景,而不是两步,我会分享我的想法。
希望这会有所帮助。
推荐阅读
- ios - react-native ios Podfile 问题与“use_native_modules!”
- networking - 为什么我的 A6 GPRS 可以连接到我的网站,但不能连接到它的其他页面?
- javascript - 在哪里放置方法,在父组件或子组件中?
- java - 为什么编译代码时gradlew返回找不到符号错误?
- java - 为什么 JAXB 无法解析泛型类型?
- list - 使用 Scheme 递归添加到列表
- php - 覆盖 Ajax 命令以在 Wordpress 上使用
- node.js - Mongoose Boolean false vs undefined?
- javascript - JavaScript appendChild 替换旧的 Child
- turing-machines - 构建 TM 的状态图