黑猴子的家:Spark 在 IDEA 中本地調試 WordCount 程序

本地Spark程序調試需要使用local提交模式,即將本機當做運行環(huán)境,Master和Worker都為本機,運行時直接加斷點調試即可。

1、斷點調試


尖叫提示:如果本機操作系統(tǒng)是windows,如果在程序中使用了hadoop相關的東西,比如寫入文件到HDFS,則會遇到異常 “Java.io.IOException:Could not locate executable null\bin\winutils.exe in the Hadoop binaries”,出現(xiàn)這個問題的原因,并不是程序的錯誤,而是用到了hadoop相關的服務,解決辦法是將附加里面的hadoop-common-bin-2.7.3-x64.zip解壓到任意目錄,在IDEA中配置Run Configuration,添加HADOOP_HOME變量

2、解壓

3、配置Run Configuration 添加HADOOP_HOME

(1)Run -> Edit Configurations ...

(2)Environment Variables -> + -> HADOOP_HOME -> ok

4、編寫程序

package com.victor.spark

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

object Application extends App{
  
  // 1、 聲明一個spark conf 對象,用于配置spark連接
  val sparkconf = new SparkConf().setAppName("wordcount").setMaster("local[*]")

  // 2、創(chuàng)建一個spark context 用于連接spark 集群
  val sparkContext = new SparkContext(sparkconf)

  // 3、加載需要處理的數(shù)據(jù)文件
  val textfile = sparkContext.textFile("hdfs://hadoop102:9000/README")

  // 4、處理數(shù)據(jù)
  val result = textfile.flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_)

  // 5、輸出數(shù)據(jù)文件的結果
  result.saveAsTextFile("hdfs://hadoop102:9000/out")
  //result.collect().foreach(println _)

  // 6、關閉spark集群的連接
  sparkContext.stop()

}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容