Spark之WordCount集群

本文記錄用Scala編寫WordCount并提交到Spark集群運(yùn)行堰汉。在搭建本集群之前必須先搭建好Spark集群夫壁,搭建Spark集群請參考:Spark on Yarn 環(huán)境搭建.

主要內(nèi)容:

  • 1.創(chuàng)建工程
  • 2.主程序
  • 3.提交運(yùn)行

相關(guān)文章:
1.Spark之PI本地
2.Spark之WordCount集群
3.SparkStreaming之讀取Kafka數(shù)據(jù)
4.SparkStreaming之使用redis保存Kafka的Offset
5.SparkStreaming之優(yōu)雅停止
6.SparkStreaming之寫數(shù)據(jù)到Kafka
7.Spark計算《西虹市首富》短評詞云

1.創(chuàng)建Maven工程并引入依賴

項目結(jié)構(gòu)截圖如下:


依賴文件如下:

<dependencies>
  <!-- https://mvnrepository.com/artifact/org.apache.spark/spark-core -->
  <dependency>
    <groupId>org.apache.spark</groupId>
    <artifactId>spark-core_2.11</artifactId>
    <version>2.3.0</version>
  </dependency>
</dependencies>
<build>
  <plugins>
    <plugin>
      <groupId>org.scala-tools</groupId>
      <artifactId>maven-scala-plugin</artifactId>
      <version>2.15.2</version>
      <executions>
        <execution>
          <id>scala-compile-first</id>
          <goals>
            <goal>compile</goal>
          </goals>
          <configuration>
            <includes>
              <include>**/*.scala</include>
            </includes>
          </configuration>
        </execution>
        <execution>
          <id>scala-test-compile</id>
          <goals>
            <goal>testCompile</goal>
          </goals>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

包含spark的核心依賴籽前,以及scala編譯插件诱鞠。

2.主程序

ScalaWordCount.scala如下:

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

object ScalaWordCount {
  val LOG = LoggerFactory.getLogger("ScalaWordCount")

  def main(args: Array[String]): Unit = {

    if (args.length < 2) {
      LOG.error("請輸入正確的參數(shù)")
      System.exit(1)
    }

    //創(chuàng)建一個Config
    val conf = new SparkConf()
      .setAppName("ScalaWordCount")

    //創(chuàng)建SparkContext對象
    val sc = new SparkContext(conf)

    //WordCount
    sc.textFile(args(0))
      .flatMap(_.split(" "))
      .map((_, 1))
      .reduceByKey(_ + _)
      .repartition(1)
      .sortBy(_._2, false)
      .saveAsTextFile(args(1))

    //停止SparkContext對象
    sc.stop()
  }
}

接收2個參數(shù)闹瞧,第一個輸入文件欺劳,第二個輸出文件夾

執(zhí)行命令:

./bin/spark-submit \
--class me.jinkun.scala.wc.ScalaWordCount \
--master yarn \
--deploy-mode cluster \
--driver-memory 1G \
--executor-memory 1G \
--executor-cores 1 \
"/opt/soft-install/data/spark-yarn-1.0-SNAPSHOT.jar" \
"hdfs://hadoop1:9000/data/input/words.txt" "hdfs://hadoop1:9000/data/output/wc.txt"

輸入?yún)?shù)1為:hdfs://hadoop1:9000/data/input/words.txt 是hdfs上的words.txt文件
輸入?yún)?shù)2為:hdfs://hadoop1:9000/data/output/wc.txt 是hdfs上的wc.txt文件夾唧取,運(yùn)行前必須先確保此文件夾不存在,否則會報錯

words.txt內(nèi)容

hello me
hello you
hello her

找到IDEA右側(cè)的Maven Projects將程序打成jar包并運(yùn)行


運(yùn)行package生成jar包

找到生成的jar并上傳執(zhí)行

在hdfs頁面查看生成的文件


結(jié)果如下:

(hello,3)
(you,1)
(her,1)
(me,1)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末划提,一起剝皮案震驚了整個濱河市枫弟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌鹏往,老刑警劉巖淡诗,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡韩容,警方通過查閱死者的電腦和手機(jī)款违,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宙攻,“玉大人奠货,你說我怎么就攤上這事∽颍” “怎么了递惋?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長溢陪。 經(jīng)常有香客問我萍虽,道長,這世上最難降的妖魔是什么形真? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任杉编,我火速辦了婚禮,結(jié)果婚禮上咆霜,老公的妹妹穿的比我還像新娘邓馒。我一直安慰自己,他們只是感情好蛾坯,可當(dāng)我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布光酣。 她就那樣靜靜地躺著,像睡著了一般脉课。 火紅的嫁衣襯著肌膚如雪救军。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天倘零,我揣著相機(jī)與錄音唱遭,去河邊找鬼。 笑死呈驶,一個胖子當(dāng)著我的面吹牛拷泽,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播俐东,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼跌穗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了虏辫?” 一聲冷哼從身側(cè)響起蚌吸,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎砌庄,沒想到半個月后羹唠,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體奕枢,經(jīng)...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年佩微,在試婚紗的時候發(fā)現(xiàn)自己被綠了缝彬。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡哺眯,死狀恐怖谷浅,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情奶卓,我是刑警寧澤一疯,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站夺姑,受9級特大地震影響墩邀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜盏浙,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一眉睹、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧废膘,春花似錦竹海、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至孵稽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間十偶,已是汗流浹背菩鲜。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留惦积,地道東北人接校。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓,卻偏偏與公主長得像狮崩,于是被迫代替她去往敵國和親蛛勉。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內(nèi)容

  • 人:至少還活著睦柴,活著至少有自己的信仰诽凌。 索馬里 美國一次戰(zhàn)爭造成了需要一兩百年的恢復(fù),沒水坦敌,沒食物侣诵,沒醫(yī)藥痢法,小孩子...
    雨飄碎歸塵閱讀 334評論 5 0
  • 1.嗖一聲,猝不及防地進(jìn)入了期中考試杜顺。 與一年級的小核桃板栗們混合考場考試财搁。 大核桃大板栗雖然看到試卷在竊喜,畢竟...
    核桃板栗讀小學(xué)閱讀 154評論 0 0
  • 人生沒有或許躬络,此時應(yīng)為良辰美景尖奔。
    藺舸閱讀 114評論 0 0
  • 其一 三江迂回處,沙洲星羅布穷当。 浮空黛色出提茁,煙鎖寒山秀。 飛翠臨峭壁膘滨,茂林凝眼眸甘凭。 風(fēng)隨波濤去,離人心上秋火邓。 其二...
    楚天湘水閱讀 165評論 0 2