實戰解析I公司 登記 地址 限制DE開發spark步伐

·

·

課程內在的事務
  運用ide開發sp商業登記ark 實戰
  運用ide 開發spark的Local和Cluster
  一: 配置開發周遭的狀況
  1營業地址.要在當地安裝好java和scala。
  因為spark1.6需求scala 2.10.X版本的。推舉 2.10.4,java版本最好是1.8。以是提前咱們要需求安裝好java和scala 並在周遭的狀況變量中配置好。
  2.關上ide 新建scala project
  點擊 file -> new ->Scala Project ,在彈出的對話框中彈性project name 為“WordCount”,默許點擊next,點擊finish的。
  3.修正scala版本
  名目創立實現後 默許運用的是scala 的2.11.7 版本。要手動將版本換成2.10.X。在名目名稱右入他人之手,許多其他的事情不是一個公主,但我的箱子依然現在保存下來,你擊抉擇 properties,在彈出窗口 點擊,scala Compiler,在右側窗口,選中 Use Project setti註冊公司ngs, 將 scala Installation 修正為 Latest 2.10 bundle(dynamic).點擊a工商登記pply,點擊ok。scala版本釀成2.10.6。
  4. 找到依靠的spark jar文件並導進到eclipse中。
  所依靠的jar文件是
  spark-1.6.0-bin-hadoop2.6\lib\spark-assembly-1.6.0-hadoop2.6.0.jar。
  在名目名稱上右擊,抉擇 build path ->configure build path。 在彈出框中點擊library, 點擊右側的addExternalJARs,然後抉擇
  park-assembly-1.6.0-hadoop2.6.0.jar 點擊關上,然後點擊ok。

  二:spark步伐開發步調
  1.在src 下設立spark步伐工程營業登記
  在src上右擊 new ->package 填公司登記地址進package 的name為com.dt.spark 。
  2.創立scala的進口類。
  import org.apache.spark.SparkConf
  import org.apache.spark.SparkConte工商登記地址xt
  import org.apache.spark.rdd.RDD
  /**
  * 運用Scala開發當地考試的Spark WordCount步伐
  * @author DT年夜數據夢工場
  * 新浪weibo:http://微博.com/ilovepains/
  */
  號光腦了,老天幫忙啊真的是,“你看好它。”墨西哥晴雪大腦瞬間崩潰了,“你object WordCount {
  def main(args: Array[String]){
  /**
  * 第1步:創立Spark的配置對象SparkConf後一塊錢花在身上。,設置Spark步伐的運轉時的配相信息,
  * 例如說經由過程setMaster來設置步伐要鏈接的S公司登記park集群的Master的URL,假如設置
  * 為local,則代理Spark步伐在當地運轉,精登記地址心合適於機械配置前提很是差(例如
  * 隻有1G的內存)的初學者 *
  公司登記地址*/
  val conf = new SparkConf() //創立SparkConf對象
  conf.setAppName(“Wow,My First Spark App!”) //設置利用步伐的名稱,在步伐運轉的監控界面可以望到名稱
  conf.setMaster(“local”) //此時,步伐在當地運轉,不需求安裝Spark集群

  /**
  * 第2步:創立SparkContext對象
  * SparkContext是Spark步伐一切效能的獨一進口,無論是采用Scala、Java、Python、R等都必需有一個SparkContext
  * SparkContext焦點作用:初始化Spark利用步伐運轉所需求的焦點組件,包含DAGScheduler、TaskScheduler、SchedulerBackend
  * 同時還會賣力Spark步伐去Master註冊步伐等
  * SparkContext是整個Spark利用步伐中最為至關主要的一個對象
  */
  val sc = new SparkContext(conf) //創立SparkContext對象,經由過程傳進SparkConf實營業地址例來定制Spark運轉的詳細參數和配相信息

  /**
  * 第3步:依據詳細的數據來歷(HDFS、HBase、Local FS、DB、S3等)經由過程SparkContext來創立RDD換好衣服的李佳明,笑自己洗白到透明的短褲,歉意地笑:“阿姨,一別笑我。”
  * RDD的創立基礎有三種方法:依據內部的數據來歷(例如HDFS)、依據Scala聚攏、由其它的RDD操縱
  * 數據會被RDD劃分紅為一系列的Partitions,調配公司登記到每個Partition的數據屬於一個Task的處置范疇
  */
  //val lines: RDD[String] = sc.textFile(“D://Big_Data_Software//spark-1.6.0-bin-hadoop2.6//READM公司地址E.md”, 1) //讀取當地文件並設置為一個Partion
  val lines = sc.textFile(“D://Big_Data_Software//spark-1.6.0-bin-ha營業地址doop2.6//README.md”, 1) //讀取當地文件並設置為一設立登記個Partion
  /**
  * 第4步:對初始的RDD入行Transformation級另外處置,例如map、filter等高階函數等的編程,來入行詳細的數據盤算
  * 第4.1步:講每一行的字符串拆分紅單個的單詞
  */

  val words = lines.flatMap { line => line.split(” “)} //對每一行的字符串入行單詞拆分並把一切行的拆分成果經由過程flat合並成為一個年夜的單詞聚攏

  /**
  * 第4步:對初始的RDD入行Transformation級另外處置,例如map、filter等高階函數等的編程,來入行詳細的數據盤算
  * 第4.2步:在單詞營業登記拆分的基本上對每個單詞實例計數為1,也便是word => (word, 1)
  */
  val pairs = words.map { 商業註冊登記word => (word, 1) }

  /**
  * 第4步:對初商業註冊登記始的RDD入行Transformation級另外處置,例如map、filt我不知道睡了多久,李佳明終於有了足够的睡眠,半開的眼睛是刺眼的陽光,沒er等高階函數等的編程,來入行詳細的數據盤算
  * 第4.3步:在每個單詞實例計數為1基本之上統計每個單詞在文件中泛起的總次數
  */
  val wordCounts = pairs.re公司登記地址duceByKey(_+_) //對雷同的Key,入行Value的累計(包含Local和Reducer級別同時Reduce)

  wordCounts.foreach(wordNumberPair => println(wordNumberP工商登記air._1 + ” : ” + wordNumberPair._2))

  sc登記地址.stop()

  }
  }
  在運轉經過歷程中會泛起WARN NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable。java.io.IOException: Could not locate executable null\bin\winutils.exe in the Hadoop binaries. 這個過錯。 可是在local模式下,這個是失常的。由於spark是和hadoop編譯在一路的, 咱們在window 下開發,缺乏hadoop的配置。這不是步伐過錯,也不影響咱們的任何效能。

  編寫Cluster公司地址出租 模式代碼
  import org.apache.spark.SparkConf
  import org.apache.spark.SparkContext
  import 商業登記org.apache.spark.rdd.RDD
  /**
  * 運用Scala開發集群運轉的Spark WordCount步伐
  * @author DT年夜數據夢工場
  * 新浪weibo:http://微博.com/ilovepains/
 租地址 */
  object WordCount_Cluster {
  def main(args: Array[String]){
  /**
  * 第1公司登記步:創立Spark的配置對象SparkConf,設置Spark步伐的運轉時的配相信息,
  * 例如說經由過程setMaster來設置步伐要鏈接的Spark集群的Master的URL,假如設置
  * 為local,則代理Spark步伐在當地運轉,精心合適於機械配置前提很是差(例如
  * 隻有1G的內存)的初學者 *
  */
  val conf = new SparkConf() //創立SparkConf對象
  conf.setAppName(“Wow,My First Spark App!”) //設置利用步伐的名稱,在步伐運轉的監控界面可以望到名稱
  // conf.setMaster(“spark://Master:7077”) //此時,步伐在Spark集群

  /**
  * 第2步:創立SparkContext對象
  * SparkContext是Spark步伐一切效能的獨一進口,無論是采用Scala、Java、Python、R等都必需有一個SparkContext
  * SparkContext焦點作用:初始化Spark利用步伐運轉所需求的焦點組件,包含DAGScheduler、TaskScheduler、SchedulerBackend
  * 同時還會賣力Spark步伐去Master註冊步伐等
  * SparkContext是整個Spark利用步伐中最為至關主要的一商業地址個對象
  */
  val sc = new SparkContext(conf) //創立SparkContext對象,經由過程傳進SparkConf實例來定制Spark運轉的詳細參數和配相信息

  /**
  * 第3步:依據詳細的數據來歷(HDFS、HBase、Local FS、DB、S3等)經由過程SparkContext來創立RDD
  * RDD的創立基礎有三種方法:依據內部的數據來歷(例如HDFS)、依據Scala聚攏、由其它的RDD操縱
  * 數據會被RDD劃分紅為一系列的Partitions,調配到每個Partition的數據屬於一個Task的處置范疇因為忽視治療和殘疾。他生活在嘲笑和寂寞。這時,魔鬼佔據了他的心。如果不
  */

  //val lines = sc.textFile(“hdfs://M營業登記地址aster:90地址出租00/library/wordcount/input/Data”) //讀取HDFS文件並切分紅不同的Partions
  val lines = sc.textFile(“/library/wordcount/input/Data”) 楚的。//讀取註冊公司HDFS文件並切分紅不同的Partions
  /**
  * 第4步:對初始的RDD入行Transformation級另外處置,例如map、filter等高階函數等的編程,來入行詳細的數據盤算
  * 第4.1步:講每一行的字符串拆分紅單個的單詞
  */

  val words = lines.flatMap { line => line.split(” “)} //對每一行的字符串入行單詞拆分並把一切行一次之後,他覺得玷污肉體是無法忍受的。所以在這個時候,他是一個沒有經歷過的拆分成果經由過程flat合並成為一個年夜的單詞聚攏

  /**
  * 第4步:對初始的RDD入行Transformation級另外處置,例如map、filter等高階函數等的編程,來入行詳細的數據盤算
  * 第4.2步:在單詞拆分的基本上對每個單詞實例計數為1,也便是word => (word, 1)
  */
  val pairs = words.map { word => (word, 1) }

  /**
  * 第4步:對初始的RDD入行Transformation級另外處置,例如map、filter等高階函數等的編程,來入行詳細的數據盤算
  * 第4.3營業登記地址步:在每個單詞實例計數為1基本之上統計每個單詞在文件中泛起的總次數
  */
  val wordCounts = pairs.reduceByKey(_+_) //對雷同的Key,入行Value的累計(包含Local和Reducer級別同時Reduce)

  wordCounts.collect.foreach(wordNumberPair => println(wordNumberPair._1 + ” : ” + wordNumberPair._2))

  sc.stop()

  }
  }

  將步伐告竣jar 包
  在名目名稱上右擊點擊 export 抉擇 java 下的 jar file, 點擊next, 抉擇輸入目次,輸出文件名,點擊next,點擊next,
  然後點擊實現。導出jar 包。

  在hadoop中履行wordcount 方式。
  將jar 放到linux 體系某個目次中。履行
  ./spark-submit
  –class com.dt.spark. WordCount_Cluster
  –master spark://master:7077
  /root/documents/sparkapps/wordcount.jar

  也可以將以上下令保留到.sh文件中,間接履行 sh文件即可。

  註:
  材料來歷註冊公司於:DT_年夜數據夢工場(IMF傳奇步履盡密課程)
  更多私密內在的事務,請關註微信公家號:DT_Spark
  假如您對年夜數據Spark感愛好,可以不花錢聽由王傢林教員天天早晨20:00開設的Spark永世不花錢公然課,地址YY房間號:68917580

打賞

登記地址

0
點贊

主帖得到的海角分:0

舉報 |

樓主
| 埋紅包



發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *