spark應用程式由兩部分組成:
1.driver
2.executor
基本概念:
sparkcontext:spark應用程式的入口,負責排程各個運算資源,協調各個worker node 的executor
並且負責將資料存在記憶體或磁碟上;
cluster manager: 集群上獲取資源的外部服務
job :作業被拆分成平行計算的工作單元
stage:每個job被拆分成多組任務(task) ,每組task被稱為stage
rdd:spark最核心的模組,彈性分布式資料集
spark可以將任何hadoop所支援的儲存資源(本地檔案、hdfs、hbase)轉換成rdd.
比如使用textfile方法將本地檔案或hdfs檔案轉換成rdd
textfile("/dfs/directory")
textfile("file:///dfs/data/a.txt")
Spark程式設計Tips
1.盡量用 aggregatebykey 和 reducebykey和combinebykey,替代 groupbykey。這個開發過程中深有體會,groupbykey極易引發各種oom。2.repartition 適用於 rdd v partitionby 適用於 rdd k,v 3.盡量避免在乙...
spark 程式設計教程
參考 英文 中文 1.2.1版本的 一 快速入門 老規矩,先看乙個簡單示例,有個認識。這個示例來自官方example的sparkpi package org.lujinhong.demo.spark 官方的sparkpi示例 import scala.math.random import org.a...
spark程式設計模型二
並行化scala集合 1 spark使用parallelize方法轉換成rdd 2 val rdd1 sc.parallelize array 1,2,3,4,5 3 val rdd2 sc.parallelize list 0 to 10 5 4 引數slice是對資料集切片,每乙個slice啟動...