1. 程式人生 > >Scala+Spark+Hadoop+IDEA實現WordCount單詞計數,上傳並執行任務(簡單例項-下)

Scala+Spark+Hadoop+IDEA實現WordCount單詞計數,上傳並執行任務(簡單例項-下)

                 Scala+Spark+Hadoop+IDEA上傳並執行任務

本文接續上一篇文章,已經在IDEA中執行Spark任務執行完畢,測試成功。

一、打包

1.1  將setMaster註釋掉

package day05

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

import scala.collection.mutable

/**
  * 打包注意事項:1,將setMaster註釋掉
  *             2,不需要列印
  */
object SparkWordCount {

  def main(args: Array[String]): Unit = {
    //配置資訊類
    //1,setAppName(任務名稱) setMaster(表示開啟多少個執行緒執行)
    System.setProperty("hadoop.home.dir", "/usr/local/hadoop-2.7.5")

    val conf: SparkConf = new SparkConf().setAppName("SparkWordCount")//.setMaster("local[*]")

    //上下文物件
    val sc: SparkContext = new SparkContext(conf)

    //讀取資料(資料通過陣列 args進入)
    val lines: RDD[String] = sc.textFile(args(0))

    //處理資料
    val map01: RDD[(String, Int)] = lines.flatMap(_.split(" ")).map((_, 1))
    val wordCount: RDD[(String, Int)] = map01.reduceByKey(_ + _).sortBy(_._2, false)

    val wcToBuffer: mutable.Buffer[(String, Int)] = wordCount.collect().toBuffer
//    println(wcToBuffer)
    sc.stop()
  }
}

1.2 開啟 clear 並打包

(1)工具欄-->view-->Tool Buttons(右側出現 Maven Project)

(2)雙擊clean

(3)雙擊package

打包結果:(出現target、連個jar包)

注意:如果出現ClassNotFound 並且出現了只有一個Jar包的話,就將其他的沒有用的類刪掉,只留下當前類。

1.3 拷貝生成的Jar包

二、上傳

2.1 將Jar包拷貝到指定目錄下(我這兒將scala02-1.0-SNAPSHOT.jar改名為 swc.jar)

/root/swc.jar

2.2 在spark中執行

./bin/spark-submit --class day05.SparkWordCount --master spark://centos01:7077 --executor-memory 1g --total-executor-cores 2 /root/swc.jar hdfs://centos01:9000/ws hdfs://centos01:9000/outp

–class設定的是程式的入口點,也就是我們的驅動類,這點和Hadoop MapReduce 程式很相似。
–master是我們設定的master URL,這裡官方有詳細的引數列表: 

  • local:在本地的單執行緒執行
  • local[k]:在本地多執行緒執行,執行執行緒數為K
  • local[*]:在本地多執行緒執行,儘可能多的執行緒數量
  • spark://HOST:PORT :連線上spark單點模式執行,埠PORT是提前配置好的,預設埠7077
  • mesos://HOST:PORT :連線上mesos(好像是一種叢集支援工具,沒有深入研究)
  • yarn :基於Hadoop的yarn執行,叢集的位置在 HADOOP_CONF_DIR ,YARN_CONF_DIR這兩個變數指定的位置

2.3 從Web ui檢視資訊是否上傳成功。

(1)檢視spark任務

(2)檢視hdfs 檔案上傳

(3)通過命令來檢視內容。

[[email protected] spark-1.6.3-bin-hadoop2.6]# hdfs dfs -cat /outp/part-00000
(hello,12)
(java,9)
[[email protected] spark-1.6.3-bin-hadoop2.6]# hdfs dfs -cat /outp/part-00001
(scala,7)
(new,7)
(work,7)
(python,5)
[[email protected] spark-1.6.3-bin-hadoop2.6]# hdfs dfs -cat /outp/part-00002
(javaScript,4)
(jvm,4)
(world,3)
[[email protected] spark-1.6.3-bin-hadoop2.6]# 

完美呈現~~

歡迎訂閱關注公眾號(JAVA和人工智慧)

                                                           獲取更多免費書籍、資源、視訊資料 

         

文章超級連結:

相關推薦

Scala+Spark+Hadoop+IDEA實現WordCount單詞計數執行任務簡單例項-

                 Scala+Spark+Hadoop+IDEA上傳並執行任務 本文接續上一篇文章,已經在IDEA中執行Spark任務執行完畢,測試成功。 一、打包 1.1  將setMaster註釋掉 package day05 import

Scala +Spark+Hadoop+Zookeeper+IDEA實現WordCount單詞計數簡單例項

                 IDEA+Scala +Spark實現wordCount單詞計數 一、新建一個Scala的object單例物件,修改pom檔案 (1)下面文章可以幫助參考安裝 IDEA 和 新建一個Scala程式。 (2)pom檔案 <?xml

Nodejs學習筆記—Node.js + Express 實現文件功能felixge/node-formidable

blog args 一個 type屬性 ole java mod device 前端 前言   前面講了一個構建網站的示例,這次在此基礎上再說說web的常規功能----文件上傳,示例以一個上傳圖片的功能為例子   上傳功能命名用formidable實現,示例很簡單!   P

java實現連線vsftpd伺服器下載刪除。

核心程式碼如下: package com.bh.service; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOExcep

Hadoop WordCount單詞計數原理

clas oop 圖片 tput 進行 打包 red div src 計算文件中出現每個單詞的頻數 輸入結果按照字母順序進行排序 編寫WordCount.java 包含Mapper類和Reducer類 編譯WordCount.java javac -classp

hadoop入門JavaAPI+Mapreduce例項wordCount單詞計數詳解

剛剛研究了一下haoop官網單詞計數的例子,把詳細步驟解析貼在下面: 準備工作: 1、haoop叢集環境搭建完成 2、新建一個檔案hello,並寫入2行單詞,如下: [[email protected] hadoop-2.6.0]# vi hello hello

map/reduce例項wordCount單詞計數實現功能

hadoop hadoop hadoop dajiangtai dajiangtai dajiangtai hsg qq.com hello you hello me her map/reduce處理功能 執行步驟: 1. map任務處理

Hadoop多個檔案單詞計數

Hadoop的安裝     首先下載Hadoop的安裝包,這裡使用2.7.3版本。解壓到/usr/local下 sudo tar -zxvf hadoop-2.7.3.tar.gz -C /usr/local/     然後更改hadoop-2.7.

Spark之路:Scala + Spark + Hadoop環境搭建

一、Spark 介紹 Spark是基於記憶體計算的大資料分散式計算框架。Spark基於記憶體計算,提高了在大資料環境下資料處理的實時性,同時保證了高容錯性和高可伸縮性,允許使用者將Spark部署在大量廉價硬體之上,形成叢集。 1.提供分散式計算功能,將分散式

IntelliJ IDEA實現遠端連線linux檔案到linux伺服器SSH會話功能和SFTP功能

注意: eclipse的SSH會話功能和SFTP功能這裡不會說 點選以下連結可檢視   eclipse的SSH會話功能和SFTP功能 而IntelliJ IDEA(以下簡稱為IDEA)這麼強大的開發工具自然也有該功能,這篇部落格就介紹一下IDEA的SSH會話功能

如何在Eclipse/Myeclipse/Scala IDEA for Eclipse 中正確刪除已經下載過的外掛圖文詳解

  不多說,直接上乾貨!   見 第一步 :在選單欄中,找到help-------install new software  第二步,需要注意了,注意看圖。紅色區域標註的already installed?  點選進去,找到你需要要刪除的軟體,

元資料與資料治理|Intellij IDEA提交遠端Hadoop MapReduce任務第八篇

1.新建IntelliJ下空的的maven專案 直接next即可。 2.配置依賴 編輯pom.xml檔案,新增apache源和hadoop依賴 基礎依賴hadoop-core和hadoop-common; 讀寫HDFS,需要依賴hadoop-hdfs和hadoop-client

spark dataframe 一列分隔多列一列分隔多行scala

關於spark dataframe ,這裡介紹三種實用中實現可能比較麻煩的操作,首先上原始資料集 mRecord:一,合併content列,將name相同的content合併到一行,用逗號隔開: mRecord.createOrReplaceTempView("

使用logging模塊實現對文件增刪改查操作的紀錄low B版

文件 time *** tle () handle 函數賦值 增刪改查操作 info #!/usr/bin/env python#對之前文件進行的增刪改查操作實現日誌操作,日誌輸出用戶進行過的操作。#!/usr/bin/env pythondef log(): imp

RootFramework框架實現文件讀取和以及使用JavaScript獲取fields中的值

roo 讀取 frame get .get 轉換 script 輸入 tor 1、項目中使用的相對路徑需要轉換成絕對路徑,(Python方法實現 os.path.abspath(‘path‘)) 2、choose file [locators,file_pat

Android圖文混排-實現EditText圖文混合插入

origin uri keyword src llb fail ren -a amp 前段時間做了一個Android會議管理系統,項目需求涉及到EditText的圖文混排,如圖: 在上圖的”會議詳情”中。須要支持文本和圖片的混合插入,下圖演示輸入的

基於Jquery插件Uploadify實現實時顯示進度條圖片

準備 深入學習 pla 回調 true bar put and 分割 網址:http://www.jb51.net/article/83811.htm 這篇文章主要介紹了基於Jquery插件Uploadify實現實時顯示進度條上傳圖片的相關資料,感興趣的小夥伴們可

原生javascript實現文件異步

dem ade state image itl 失敗 data status .cn 效果圖: 代碼:(demo33.jsp) <%@ page contentType="text/html;charset=UTF-8" language="java" %>

springMVC實現 MultipartFile 多文件

cat rect .com tor try class isempty param public 1、Maven引入所需的 jar 包(或自行下載)      <dependency> <groupId>commons-io

Java集合框架上機練習題:編寫一個Book類該類至少有name和price兩個屬性。該類要實現Comparable接口在接口的compareTo方法.....

ext .cn 數據庫 識別 方法 屬性 set package compareto 編寫一個Book類,該類至少有name和price兩個屬性。該類要實現Comparable接口,在接口的compareTo()方法中規定兩個Book類實例的大小關系為二者的price屬性的