栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

scala RDD数据保存到本地txt文件中

scala RDD数据保存到本地txt文件中

今天在Windows上跑Scala词频统计的时候,发现RDD文件并不能直接保存到本地的txt文件中,如果使用saveAsTextFile方法的话,会将RDD数据以文件夹且数据不能直接使用 但是使用其他的方法又比较麻烦,对新手很不友好,这里教大家一个小方法 将RDD数据使用toArray()转为数组即可遍历写入本地文件了,如果有更好的方法,私信笔者,毕竟该方法Scala官方已经不推荐使用了。

代码如下:

package day01

import java.io.PrintWriter
import java.io.File

import org.apache.spark.{SparkConf, SparkContext}

object countWord_2 {
  def main(args: Array[String]): Unit = {
    val conf = new SparkConf().setAppName("countWord_2").setMaster("local")
    val sc = new SparkContext(conf)
    System.setProperty("hadoop.home.dir", "E:\school_Study\spark\hadoop")
    val input = "F:\score.txt"

    val count = sc.textFile(input).flatMap(x => x.split(" ")).map(x => (x, 1)).reduceByKey((x, y) => x + y)
    //文件写入
    val writer = new PrintWriter(new File("res.txt"))

    count.foreach(x => println(String.valueOf(x._1 + " " + x._2)))
    val tuples = count.toArray()
    for (elem <- tuples) {
      writer.write(elem._1 + " " + elem._2 + "n")
    }
    writer.close()
  }
}

使用的Scala版本为:scala-2.10.5

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/632932.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号