繁体   English   中英

在Spark Scala中保存和覆盖文件

[英]Saving and Overwriting a file in Spark Scala

我有一个文本文件,其中第一列由表名表示,第二列由日期表示。 两列之间的分隔符由空格表示。 数据表示如下

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(如果存在)?

我的要求是读取文件并根据业务逻辑更新日期列,然后保存/覆盖文件。

切勿直接执行此类操作。 总是:

  • 首先将数据写入临时存储。
  • 使用标准文件系统工具删除原始文件。
  • 使用标准文件系统工具重命名临时输出。

直接覆盖数据的尝试极有可能导致部分或全部数据丢失。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM