在Spark Scala中保存和覆盖文件
我有一个文本文件,其中第一列用表名表示,第二列用日期表示。两列之间的分隔符由空格表示。数据如下所示 employee.txt在Spark Scala中保存和覆盖文件,scala,apache-spark,Scala,Apache Spark,我有一个文本文件,其中第一列用表名表示,第二列用日期表示。两列之间的分隔符由空格表示。数据如下所示 employee.txt organization 4-15-2018 employee 5-15-2018 我的要求是读取文件并根据业务逻辑更新日期列,然后保存/覆盖文件。下面是我的代码 object Employee { def main(args: Array[String]) { val conf = new SparkConf().setMaster("local").s
organization 4-15-2018
employee 5-15-2018
我的要求是读取文件并根据业务逻辑更新日期列,然后保存/覆盖文件。下面是我的代码
object Employee {
def main(args: Array[String]) {
val conf = new SparkConf().setMaster("local").setAppName("employeedata")
val sc = new SparkContext(conf)
var input = sc.textFile("D:\\employee\\employee.txt")
.map(line => line.split(' '))
.map(kvPair => (kvPair(0), kvPair(1)))
.collectAsMap()
//Do some operations
// Do iteration and update the hashmap as follows
val finalMap = input + (tableName -> updatedDate)
sc.stop()
}
在上述场景中,如何保存/覆盖(如果存在)最终映射
我的要求是读取文件并根据业务逻辑更新日期列,然后保存/覆盖文件
永远不要直接做这样的事。始终:
- 首先将数据写入临时存储器
- 使用标准文件系统工具删除原始文件
- 使用标准文件系统工具重命名临时输出