win10 spark scala 本地运行wordcount

注意

  • 每次修改环境变量都要重启cmd
  • 本机运行需要hadoop common,可以从 github 下载 zip,解包以后设置 HADOOP_HOME 环境变量指向它,然后在 PATH 里加上 HADOOP_HOME\bin,特别注意,hadoop common 的版本要和 spark 的 hadoop 版本匹配
  • spark 的 scala 和 本机的 scala 大版本要匹配
  • 报错 Exception while deleting Spark temp dir,spark运行的临时文件目录是 C:\Users\<your_name>\AppData\Local\Temp,hadoop common
    的 winutils.exe 不够权限删除这个目录,win暂时没有解决方案,不用理它
  • 结果在你在程序里设置的输出位置(“d:\tmp”)里,是个文件夹,每次重启程序前要删除它

wordcount 代码

import org.apache.spark.SparkConf
import org.apache.spark.SparkContext
import org.apache.spark.SparkContext._

object Hello {
  def main(args: Array[String]): Unit = {
    println("hello")

    val conf = new SparkConf().setMaster("local").setAppName("whw example")
    val sc = new SparkContext(conf)

    val input = sc.textFile("D:\\code_scala\\abc")
    val words = input.flatMap(line => line.split(" "))
    val counts = words.map(word => (word,1)).reduceByKey{case (x, y) => x+y}

    counts.saveAsTextFile("d:\\tmp")
    sc.stop()
  }
}
发布了66 篇原创文章 · 获赞 21 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_35753140/article/details/96568575