您好,登錄后才能下訂單哦!
上一篇博文已經介紹了搭建scala的開發環境,現在進入正題。如何開發我們的第一個spark程序。
下載spark安裝包,下載地址http://spark.apache.org/downloads.html(因為開發環境需要引用spark的jar包)
我下載的是spark-2.1.0-bin-hadoop2.6.tgz,因為我的scalaIDE版本是scala-SDK-4.5.0-vfinal-2.11-win32.win32.x86_64.zip
最好,IDE版本和spark版本要匹配,否則,開發程序的時候,可能會包引用的jar包錯誤等等。
new 一個 scala project,然后new 一個 scala object
代碼如下:
package com.test import org.apache.spark.SparkContext import org.apache.spark.SparkConf /** * 統計字符出現次數 */ object WordCount { def main(args: Array[String]) { if (args.length < 1) { System.err.println("Usage: <file>") System.exit(1) } val conf = new SparkConf();//創建SparkConf對象 conf.setAppName("Wow,My First Spark Programe");//設置應用程序的名稱,在程序運行的監 conf.setMaster("local")//此時,程序在本地運行,不需要安裝Spark集群 val sc = new SparkContext(conf);//創建SparkContext對象,通過傳入SparkConf實例 // val lines = sc.textFile(args(0)); val lines = sc.textFile(args(0)); val words = lines.flatMap{line => line.split(" ")};//對每一行的字符串進行單詞拆 val pairs = words.map{word => (word,1)}; val wordCounts = pairs.reduceByKey(_+_);//對相同的Key,進行Value的累計(包括Local和Reducer級別同時Reduce) // val wordCounts = pairs.reduce((x,y)=>(x.)); wordCounts.foreach(wordNumberPair => println(wordNumberPair._1 + " : " +wordNumberPair)); // line.flatMap(_.split(" ")).map((_, 1)).reduceByKey(_+_).collect().foreach(println) sc.stop() } }
3.配置JDK1.8 和引入spark jar包
spark的jar包是 spark安裝包解壓之后jars目錄里面的jar包,可以把這個目錄下面的所有jar包都引入工程
4.run Configurations,配置運行入參,
因為 這個代碼是讀入一個文本,在hadoop文件系統,可以spark-submit的時候傳入這個參數,在windows 本地開發環境可以在eclipse里面配置這個參數,見下面的圖
val lines = sc.textFile(args(0));
4.入參文本及運行結果
入參文本:
run scala Application運行結果
ok,開發環境搭建完畢。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。