我有一个文本文件,其中第一列用表名表示,第二列用日期表示。两列之间的分隔符由空格表示。数据表示如下
employee.txt中
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()
}
如何在上面的场景中保存/覆盖(如果存在)finalMap?
答案 0 :(得分:1)
我的要求是根据业务逻辑读取文件并更新日期列,并保存/覆盖文件。
永远不要直接做这样的事情。总是:
尝试直接覆盖数据很可能会导致部分或完全数据丢失。