Spark學習之RDDs介紹
什麼是RDDS?
RDDS即Resilient distributed datasets(彈性分布式資料集)。
Spark中,所有計算都是通過RDDs的建立,轉換,操作完成的。
一個RDD是一個不可改變的分布式集合對象。
Driver Program
包含程式的main方法,RDDs的定義和操作。
它管理很多節點,我們稱之為excetor。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiI0gTMx81dsQWZ4lmZf1GLlpXazVmcvwFciV2dsQXYtJ3bm9CX9s2RkBnVHFmb1clWvB3MaVnRtp1XlBXe0xCMy81dvRWYoNHLwEzX5xCMx8FesU2cfdGLwMzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5CN1QDN2UDMyIWO3YTZ2QjNzYzX3ADN0kDM0AzLcFTMyIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjLyM3Lc9CX6MHc0RHaiojIsJye.png)
Spark Context
Driver Program是通過SparkContext對象通路spark。
SparkContext對象代表和一個叢集的連接配接。
在Shell中SparkContext自動建立好了,就是sc。
分片
每個分片包含一部分資料,partitions可在叢集的不同節點上計算。
分片是spark并行執行的單元,spark是順序的,并行的處理分片。
RDDs的建立方法
1
把一個存在的集合傳給Sprakcontext的parallelize()方法,用于測試
var rdd = sc.parallelize(Array(1,2,2,4),4)
其中,第一個參數表示待并行化處理的集合,第二個參數:分片的個數。
val rddText = sc.textFile('helloSpark.txt')