Hadoop向文件中追加数据

hadoop版本:2.4.0

通过Hadoop,FileSystem中的append方法追加数据。

核心代码(Scala)如下:

import java.net.URI  
import org.apache.hadoop.fs.{Path, FileSystem}

...

  def appendText(content: String): Unit = {
      // 目标文件
    val hdfsPath = "hdfs://master:9000/test.txt"
    // 这里的配置是直接引用的spark中hadoop的配置,也可以手动创建Hadoop配置
    val config = sparkContext.hadoopConfiguration
    val fs = FileSystem.get(URI.create(hdfsPath), config)
    val outPutStream = fs.append(new Path(hdfsPath))
    outPutStream.writeChars(content)
    outPutStream.close()
    fs.close()
  }