1. 程式人生 > >Spark培訓之計算員工薪資

Spark培訓之計算員工薪資

方法一、Scala:
val salaryRDD = sc.textFile("hdfs://192.168.1.171:9999/user/root/input/salaries/Salaries.csv").filter(!_.contains("Id"))
def max(a: Double, b: Double): Double = {if (a > b) {return a  } else {return b  }}
salariesRDD.map(_.split(",")).filter(!_(0).contains("Id")).filter(!_(7).isEmpty).map(line => (line(2).trim.toUpperCase, line(7).toDouble)).reduceByKey(max).saveAsTextFile("hdfs://
192.168.1.171:9999/user/root/input/salaries/max.txt")
方法
、DataFrame:
case class Salary(Id: Int, EmployeeName: String, JobTitle: String, BasePay: Double, OvertimePay: Double, OtherPay: Double, Benefits: Double, TotalPay: Double, TotalPayBenefits: Double, Year: String, Notes: String, Agency: String, Status: String)
val salaryDF = salaryRDD.map(_.split(",")).map(p => Salary(p(0).trim.toInt, p(1), p(2), p(3).trim.toDouble, p(4).trim.toDouble, p(5).trim.toDouble, p(6).trim.toDouble, p(7).trim.toDouble, p(8).trim.toDouble, p(9), p(10), p(11), p(12))).toDF()
salaryDF.registerTempTable("salary")
val salaries = sqlContext.sql("SELECT Year, SUM(TotalPay) FROM salary GROUP BY Year")salaries.map(t =>"Year: "+ t(0)).collect().foreach(println)
方法三、引用外部包:
spark-shell --packages com.databricks:spark-csv_2.10:1.3.0
import org.apache.spark.sql.SQLContext

val sqlContext = new SQLContext(sc)
val df = sqlContext.load("com.databricks.spark.csv", Map("path" -> "hdfs://192.168.1.171:9999/user/root/input/salaries/Salaries.csv", "header" -> "true"))df.select("EmployeeName").save("hdfs://192.168.1.171:9999/user/root/input/salaries/EmployeeName", "com.databricks.spark.csv")
方法四、SPARK-SQL: spark-sql --packages com.databricks:spark-csv_2.10:1.3.0
CREATE TABLE salaries
USING com.databricks.spark.csv OPTIONS (path "hdfs://
192.168.1.171:9999/user/root/input/salaries/Salaries.csv", header "true");
SELECT * FROM salaries A WHERE EmployeeName = 'Nelly S Fong';SELECT JobTitle, MAX(TotalPay) FROM salaries GROUP BY JobTitle;

相關推薦

Spark培訓計算員工薪資

方法一、Scala: val salaryRDD = sc.textFile("hdfs://192.168.1.171:9999/user/root/input/salaries/Salaries.

計算基礎培訓計算是什麽

雲計算很多朋友都問×××老師:老師老師,有沒有雲計算基礎培訓呢?×××老師也問學生:同學,你覺得多基礎才算是基礎呢?同學說:老師老師,那你就說說雲計算是什麽吧!×××老師:…… 好,咱們這次就來說說雲計算是什麽。雲計算(cloud computing)是一種基於因特網的超級計算模式,在遠程的數據中心裏,成千上

Spark學習路 (二十八)分布式圖計算系統

尺度 內存 底層 mapr 分區 ces 兩個 傳遞方式 cat 一、引言   在了解GraphX之前,需要先了解關於通用的分布式圖計算框架的兩個常見問題:圖存儲模式和圖計算模式。 二、圖存儲模式   巨型圖的存儲總體上有邊分割和點分割兩種存儲方式。2013年,Gra

Spark MLlib 大規模數據集的相似度計算原理探索

tis afr 廣播 圖片 times 導致 coord 向量 校驗 無論是ICF基於物品的協同過濾、UCF基於用戶的協同過濾、基於內容的推薦,最基本的環節都是計算相似度。如果樣本特征維度很高或者<user, item, score>的維度很大,都會導致無法直

Spark案例根據ip地址計算歸屬地二

之前的是單機版的根據ip地址計算歸屬地,當資料量小的時候還可以,但是在大資料實際生產中是不行的,必須將它改造成一個Spark程式,然後在Spark叢集上執行 Spark程式和單機版的程式不一樣,下面來仔細分析一下Spark程式的執行流程 首先是一個Spark叢集,叢集中有Master和

Spark案例根據ip地址計算歸屬地一

1.需求 根據訪問日誌中的ip地址計算出訪問者的歸屬地,並且按照省份,計算出訪問次數,最後將計算好的結果寫入到Mysql中 2.思路分析   1)整理訪問日誌中的資料,切分出ip欄位,然後將ip欄位轉換成十進位制   2)載入ip地址的規則,取出有用的欄位,然後將

Spark案例根據ip地址計算歸屬地四

之前案例三中的ip地址規則是在Driver端的機器磁碟中儲存著的,但是現在如果實在hdfs中儲存著的又該如何實現呢 首先要分析清楚才能實現,儲存在hdfs中並不像想象中的那麼容易,首先程式碼實在Driver端寫的,在Driver端寫從hdfs中取出ip地址規則的程式碼會觸發action,然後生成

Spark案例根據ip地址計算歸屬地三

案例二中已經詳細的通過圖和介紹詳細的說明了在Spark叢集中根據ip地址計算歸屬地並將結果儲存到mysql資料庫中的執行流程,下面就來做具體的實現 現在的環境就如案例二中說的一樣,ip地址規則是儲存在Driver端的機器磁碟中,而日誌檔案是儲存在hdfs中,所以現在需要首先在Driver端拿到i

大資料培訓核心知識點Hbase、Hive、Spark和MapReduce的概念理解、特點及機制等

今天,上海尚學堂大資料培訓班畢業的一位學生去參加易普軟體公司面試,應聘的職位是大資料開發。面試官問了他10個問題,主要集中在Hbase、Spark、Hive和MapReduce上,基礎概念、特點、應用場景等問得多。看來,還是非常注重基礎的牢固。整個大資料開發技術,這幾個技術知識點佔了很大一部分。那本

Spark迭代計算通話記錄分析

            資料探勘實驗報告     Spark迭代計算之通話記錄分析          

shell編程培訓shell的工作原理

shell編程培訓Shell是用戶和Linux操作系統之間的接口。Linux中有多種shell,其間缺省運用的是Bash。本章敘述了shell的作業原理,shell的品種,shell的一般操作及Bash的特性。什麽是shellLinux系統的shell作為操作系統的外殼,為用戶提供使用操作系統的接口。它是命令

安卓性能優化計算apk啟動時間

height let 邏輯 第一個 cin 16px box tex 性能 之前有人在知乎提問:“怎麽計算apk的啟動時間?” : 利用Python或者直接用adb命令怎麽計算apk的啟動時間呢?就是計算從點擊圖標到apk完全啟動所花費的時間。比如,對遊戲來說就是點擊遊

Spark-SqlDataFrame實戰詳解

集合 case 編程方式 優化 所表 register 操作數 print ava 1、DataFrame簡介: 在Spark中,DataFrame是一種以RDD為基礎的分布式數據據集,類似於傳統數據庫聽二維表格,DataFrame帶有Schema元信息,即DataFram

vue2.0 計算屬性和數據監聽

ext turn rip exp http pre text div log 計算屬性computed <template> <div> <input type="text" name="" v-model="myVal">

JAVASE 循環 計算各位上數字的和

class javase col pre ner color logs java span   問題:輸入一個整數,計算它各位上數字的和 Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int su

20170721 PyTorch學習筆記計算

int nts keys function 用法 abc not self. end 1. **args, **kwargs的區別 1 def build_vocab(self, *args, **kwargs): 2 counter = Co

nBodyCS<I>學習筆記計算著色器

uuid 代碼 接下來 gin resource pos 示例 dynamic 通訊 nBodyCS<I>學習筆記之計算著色器 Nvidia-SDK(1) 版權聲明:本文為博主原創文章,未經博主允許不得轉載。 DirectX一直是Windows

Vue.js(2.x)計算屬性

眼睛 猜想 官網文檔 data ctype 小結 isp def 直接 昨天看完大神的文章後,深感慚愧,硬著頭皮繼續看官網文檔,然而這真的沒是沒辦法,介紹的實在有些敷衍: 1)、計算屬性:也不說下computed是計算屬性關鍵詞,vm實例是可以像代理data一樣代理comp

Spark SQL Join 實現

結構 很多 找到 過濾 sql查詢優化 ade read 轉換成 分析 原文地址:Spark SQL 之 Join 實現 Spark SQL 之 Join 實現 塗小剛 2017-07-19 217標簽: spark , 數據庫 Join作為SQL中

Spark-Streamingwindow滑動窗口應用

針對 間隔 air int() ans 應用 spl 窗口 nbsp Spark-Streaming之window滑動窗口應用,Spark Streaming提供了滑動窗口操作的支持,從而讓我們可以對一個滑動窗口內的數據執行計算操作。每次掉落在窗口內的RDD的數據,會被聚合