我有一个文本文件,其中第一列用表名称表示,第二列用日期表示。两列之间的分隔符由空格表示。数据表示如下
员工.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?
我的要求是读取文件并根据业务逻辑更新日期列并保存/覆盖文件。
永远不要直接做这样的事情。总是:
- 首先将数据写入临时存储器。
- 使用标准文件系统工具删除原始文件。
- 使用标准文件系统工具重命名临时输出。
尝试直接覆盖数据很可能会导致部分或全部数据丢失。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)