spark将计算结果写入到hdfs的两种方法

  • Post author:
  • Post category:其他


spark将计算结果写入到hdfs的两种方法

第一种方法:

rdd.saveAsTextFile(path, classOf[com.hadoop.compression.lzo.LzopCodec])

这种方法有这么几个问题

1、生成的lzo文件不会创建index文件,需要手动进行创建。

2、每个文件的名称不能自定义。


第二种方法是直接调用LzopOutputstream的接口和hdfs的api,直接操作hdfs文件。可以规避以上几个问题。

 def main(args: Array[String]) {
    //保存的路径
    val basePath = "/tmp/kuan2"
    //设置日志级别
    //    Example.setStreamingLogLevels()
    //创建sparkConf
    val sparkConf = new SparkConf