spark程式設計

2022-07-08 03:45:08 字數 550 閱讀 5603

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啟動...