idea寫java spark程序,Spark : 在IDEA中用scala編寫Spark的WordCount程序并提交運行

使用IDEA新建maven工程,添加相關依賴:

1.8

1.8

2.11.11

2.3.0

2.7.7

utf-8

org.scala-lang

scala-library

${scala.version}

org.apache.spark

spark-core_2.11

${spark.version}

org.apache.hadoop

hadoop-client

2.7.7

給項目添加scala支持,新建Scala Object文件

編寫程序:

import org.apache.spark.rdd.RDD

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

object WordCountDemo {

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

//創建Spark配置對象SparkConf,設置應用程序名字

val conf = new SparkConf().setAppName("WordCountDemo")

//創建spark執行入口

val sc = new SparkContext(conf)

//指定以后從哪里讀取數據創建RDD(彈性分布式數據集)

val lines: RDD[String] = sc.textFile(args(0))

//切分壓平

val words: RDD[String] = lines.flatMap(_.split(" "))

//將單詞和1組合

val wordAndOne: RDD[(String, Int)] = words.map((_, 1))

//按key進行聚合

val reduced: RDD[(String, Int)] = wordAndOne.reduceByKey(_+_)

//按value進行排序

val sorted: RDD[(String, Int)] = reduced.sortBy(_._2, false)

//將結果保存到hdfs中

sorted.saveAsTextFile(args(1))

//釋放資源

sc.stop()

}

}

執行maven的打包命令

將打包上傳至服務器

開啟hdfs和spark,將輸入文本上傳至hdfs

執行任務:

/soft/spark/bin/spark-submit --class com.wby.demo.WordCountDemo /root/jars/spark-1.0-SNAPSHOT.jar hdfs://192.168.124.132:9000/test/w hdfs://192.168.124.132:9000/test/res

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258051.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258051.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258051.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Contest - 2014 SWJTU ACM 手速測試賽(2014.10.31)

題目列表: 2146 Problem A【手速】闊綽的Dim2147 Problem B【手速】頹廢的Dim2148 Problem C【手速】我的滑板鞋2149 Problem D【手速】潦倒的Dim2150 Problem E【手速】被NTR的Dim2146 Problem A: 簡單的最長回文串統計算法,這里沒有過高要求…

利用Vagrant and VirtualBox搭建core os環境

利用Vagrant and VirtualBox搭建core os環境 系統環境 ubuntu 14.04 x64vagrant 1.7.4virtualbox 4.3.10git 1.9.1# 安裝 virtualbox, git sudo apt-get install virtualbox, git# 軟件中心的vagrant版本太低,因此去官網獲取最新的軟件包地址 wget https://releases.hashicorp.…

php關注 取消關注事件,微信公眾平臺開發關注/取消關注事件例子

用戶在關注與取消關注公眾號時,微信會把這個事件推送到開發者填寫的URL。方便開發者給用戶下發歡迎消息或者做帳號的解綁下面是一個微信公眾平臺關注和取消關注的實例:responseMsg();} else {$wechatObj->valid();}class wechatCallbackapiTest {public function…

DFS應用——遍歷有向圖+判斷有向圖是否有圈

【0】README 0.1) 本文總結于 數據結構與算法分析, 源代碼均為原創, 旨在 理解 “DFS應用——遍歷有向圖判斷有向圖是否有圈” 的idea 并用源代碼加以實現 ;0.2) 判斷有向圖是否有圈的rule—— 一個有向圖是無圈圖當且…

AbleCloud智能行業解決方案助力體重秤企業向“中國智造”轉變

近年來,體重秤消費群體的年齡層次與需求逐漸向多元化發展,品牌眾多、競爭激烈的傳統體重秤行業迎來了前所未有的挑戰——智能體重秤成為行業發展的大趨勢,功能單一、同質化嚴重已經成為阻礙傳統體重秤企業成長的桎梏,打造出具備“…

javaScript事件(一)事件流

一、事件 事件是文檔或者瀏覽器窗口中發生的,特定的交互瞬間。 事件是用戶或瀏覽器自身執行的某種動作,如click,load和mouseover都是事件的名字。 事件是javaScript和DOM之間交互的橋梁。 你若觸發,我便執行——事件發生,調用它的…

php輸入對話框,如何使用JavaScript實現輸入對話框

我們有時在網頁上進行注冊用戶信息時會出現彈窗進行提示,你需要輸入內容進行確認,那么,這樣的輸入對話框是怎么實現的呢?本篇文章就來介紹關于使用JavaScript實現輸入對話框的方法。我們可以使用prompt顯示輸入對話框要在JavaScri…

軟件缺陷的種類劃分

按照軟件缺陷的產生原因,可以將其劃分為不同的缺陷類別: 1、功能不正常 簡單地說就是所應提供的功能,在使用上并不符合產品設計規格說明書中規定的要求,或是根本無法使用。這個錯誤常常會發生在測試過程的初期和中期,有…

python——no module named XX

加PYTHONPATH吧,新建一個系統環境變量,把你的目錄復制進去即可轉載于:https://www.cnblogs.com/MarsMercury/p/4992629.html

CodeVS 1081 線段樹練習 2

1081 線段樹練習 2 時間限制: 1 s空間限制: 128000 KB題目等級 : 大師 Master題目描述 Description給你N個數,有兩種操作 1:給區間[a,b]的所有數都增加X 2:詢問第i個數是什么? 輸入描述 Input Description第一行一個正整數n&#…

bzoj4144 [AMPPZ2014]Petrol 圖論 最短路 并查集

bzoj4144 [AMPPZ2014]Petrol 圖論 最短路 并查集 1、這道題我們主要就是要求出距離一個油站的最近的油站 首先我們dijkstra 求出任意一個點到 離他最近的油站的距離 2、然后會發現 如果一條邊的兩個端點 的最近油站不同的話 那么這條邊就會在這兩個油站的最短路上 3、然后對于…

python函數理解,python對函數的理解

函數函數可以提高編寫代碼效率、代碼的重用、讓程序更小、模塊化可以將一段獨立功能的代碼集成在一個塊中、封裝獨立功能# 函數定義(參數名為形式參數)def 函數名(參數名):函數體# 調用函數(享受封裝的成功)函數名(實際參數)例:print函數print(sep,end) sep(元素中分…

06:空格分隔輸出

描述 讀入一個字符,一個整數,一個單精度浮點數,一個雙精度浮點數,然后按順序輸出它們,并且要求在他們之間用一個空格分隔。輸出浮點數時保留6位小數。 輸入共有四行:第一行是一個字符;第二行是一…

iOS開發UI篇—九宮格坐標計算

iOS開發UI篇—九宮格坐標計算 一、要求 完成下面的布局 二、分析 尋找左邊的規律,每一個uiview的x坐標和y坐標。 三、實現思路 (1)明確每一塊用得是什么view (2)明確每個view之間的父子關系,每個視圖都只有一個父視圖,擁有很多的子視圖。 (3)…

工業4.0時代企業如何用CRM實現模式變革

當前,全球經濟正處于變革的巨大浪潮之中,對于制造業來說,德國提出工業4.0,美國提出工業互聯網,而我國,正在大力推進“中國制造2025”。制造業實現轉型升級勢在必行。我國政府提出,要大力支持傳統…

oracle 9.2.0.2,在RedHat enterprise server 3 安裝oracle9i 2.0.0.1 并升級到9.2.0.6

oracle9i 2.0.4上個月從oracle網站下載沒有安裝在els3上。參考了網上的一些文章,并根據文章的提示找了一些資料和補丁,完成了這次的安裝。[more]1.安裝RedHat EL3現在的安裝界面都做的很好了,一路NEXT就可以安裝了.如果有困難,請參考其他linux安裝文檔進…

spring -mvc 將對象封裝json返回時刪除掉對象中的屬性注解方式

spring -mvc 將對象封裝json返回時刪除掉對象中的屬性注解方式 在類名,接口頭上注解使用在 JsonIgnoreProperties(value{"comid"}) //希望動態過濾掉的屬性 例 JsonIgnoreProperties(value{"comid"}) public interface 接口名稱{ } JsonIgnorePro…

HawkHost老鷹主機更換主域名方法

http://www.yd631.com/change-hawkhost-primary-domain/圣誕節優惠期間,很多童鞋們購買了老鷹主機,可能由于大家初次使用海外主機或者是CP面板的空間。購買主機的時候主域名是隨便輸入的或者是輸入后想換一個。我們可以通過以下方法進行操作。之前我們QQ…

ERP CRM與SCM整合過程中的知識轉移

ERP(Enterprise Resource Planning,企業資源計劃)、CRM(Customer Relationship Management,客戶關系管理)、SCM、CRM(Customer Relationship Management,客戶關系管理)、SCM(supply chain management,供應鏈管理)作為現代企業管理…

ubuntu 64 12.04 oracle,ubuntu server 12.04 x86_64 下安裝oracle xe 11 x86_64

1.下載oracle xe我下載的是oracle-xe-11.2.0-1.0.x86_64.rpm.zip2. 安裝必要程序或文件$sudo apt-get install unzip chkconfig libaio1 alien3.解壓上面的oraclexxx.zip文件,然后進行轉換$sudo alien -d --scripts oracle-xe-11.2.0-1.0.x86_64.rpm上面轉換完成后會生成一個 o…