-
Spark快速且通用的集群計算平臺
? spark是快速的
○ Spark擴充了流行的Mapreduce計算模型
○ Spark是基于內存的計算
? spark是通用的
○ 容納了其他分布式系統擁有的功能:批處理、迭代式計算、交互查詢和流處理等,方便維護
○ 優點:降低了維護成本
? spark是高度開放的
○ Spark提供了Python,Java,Scala,SQL的API和豐富的內置庫。
○ Spark和其他的大數據工具整合的很好,包括hadoop,kafka等。查看全部 -
RDDs血統關系圖
Spark維護著RDDs之間的依賴關系和創建關系,叫做 血統關系圖
Spark使用血統關系圖計算每個RDD的需求和恢復丟失的數據
延遲計算( Lazy Evaluation)
在第一次使用Action操作時才進行計算, 減少數據傳輸
Spark內部記錄metadat表明 transformation操作已經相應
RDD.persist() 持久操作
默認每次RDD進行action操作,會重新計算
persist()后可以重復利用一個RDD (緩存)
查看全部 -
//scala //RDD逐元素transformation lines.map(word=>(word,1)) lines.filter(word=>word.contains("hello")) lines.flatMap(line=>line.split("?"))??????//壓扁 //集合運算 rdd1.distinct()????//去重 rdd1.union(rdd2)????//并集 rdd1.intersection(rdd2)????//交集 rdd1.subtract(rdd2)
查看全部 -
RDDs創建
#scala val?rdd=?sc.parallelize(Array(1,2,3,4),4) #參數1:待并行化處理的集合 #參數2:分區個數 rdd.count() rdd.foreach(println) #加載外部數據 val?rddText?=?sc.textFile("hello.txt")
Scala基礎
#變量 val?變量值不可修改 var?可指向類型相同的值 #匿名函數和類型推斷??自動推斷line是string類型,可調用contain方法 lines.filter(line?=>?line.contains("world"))
查看全部 -
Drive Programs通過 SparkContext 對象訪問Spark
SparkContext 對象(即sc) 代表和一個集群的連接?
scala>?val?lines=?sc.textFile("/home/soft/hello.txt") lines即為RDDs
RDDs彈性分布式數據集:? 并行分布在整個集群中
RDDs是Spark分發數據和計算的基礎抽象類
一個RDD是不可改變的分布式集合對象
Spark中所有計算都是RDD操作完成
分片:
一個RDD內部有許多partitions分片組成,?
每個partition包含一部分數據, 可在集群不同節點計算
分片是Spark并行處理的單元
查看全部 -
Wordcount
//Scala Object?WordCount{ ????def?main(args:?Array[String]){ ????????val?conf=?new?SparkConf().setAppName("wordcount") ????????val?sc?=?new?SparkContext(conf) ???????? ????????val?input=?sc.textFile("/home/soft/hello.txt") ????????//RDD操作:壓扁 ????????val?lines?=?input.flatMap(line=>?line.split("?")) ????????//轉換成kv對 ????????val?count=?lines.map(word=>(word,1)).reduceByKey{case?(x,y)=>x+y} ????????val?output=?count.saveAsTextFile("/home/result") ????} }
Project Structure -> Artifacts ->+然后 BuildArtifacts? 打包Jar
啟動集群:
????????啟動master? start-master.sh
????????啟動worker? spark-class
????????提交作業 spark-submit
#啟動worker spark-class?org.apache.spark.deploy.worker.Worker?spark://localhost.localdomain:4040 #提交 spark-submit?--master?spark://localhost.localdomain:4040?--class?WordCount?/home/soft/hello.jar #上傳jar包 rz?-be
查看全部 -
RDDS的特性
查看全部 -
RDD基本操作之action
查看全部 -
rdd緩存級別
查看全部 -
小結
查看全部 -
distinct:驅蟲
union:合并
intersection:交集
subtract:差集
查看全部 -
spark與hadoop
spark計算時效:幾秒鐘、幾分鐘
存儲:基于內存計算,需要借助hdfs持久化數據
查看全部 -
spark core
查看全部 -
spark的生態
查看全部 -
思路,PPT查看全部
舉報