windows环境下本地运行spark程序

来源:互联网 发布:unity3d 第三人称射击 编辑:程序博客网 时间:2024/05/22 11:29

        在eclipse中调试spark程序需要注意两点,第一是要配置config('spark.sql.warehouse.dir', 'file:///C:/path/to/my/')不然会报错:

IllegalArgumentException: 'java.net.URISyntaxException: Relative path in absolute URI: file:/C:/path//to/my/file/spark-warehouse';第二是要需要配置环境变量,不然会报Failed to locate the winutils binary in the hadoop binary path。解决方法如下:下载 https://github.com/srccodes/hadoop-common-2.2.0-bin中项目 ,压到一个目录中;添加用户变量HADOOP_HOME,值是下载的zip包解压的目录,然后在系统变量path里增加$HADOOP_HOME\bin 。

object WordCount {

  def main(args: Array[String]): Unit = {
    //本地运行
    val sparkSession=SparkSession.builder().master("local")
    .appName("example")
    .config("spark.sql.warehouse.dir", "file:///e:/tmp/spark-warehouse")
    .getOrCreate()
    //本地运行需要配置hadoop_home环境变量
    val data=sc.textFile("file:///e:/test.txt", 1)
    val counts = data.flatMap(line => line.split(" ")).map(word => (word, 1)).
      reduceByKey(_ + _).map(_.swap).sortByKey(true, 1).map(_.swap)
    counts.collect().foreach(println(_))
  }
}
原创粉丝点击