Spark基本概念

2022-05-03 21:39:13 字數 1153 閱讀 5232

a.driver programs通過sparkcontent物件訪問spark

b.sparkcontent代表和乙個集群的鏈結

c.在shell中sparkcontent物件自動建立好了,就是sc

主要分為兩種:python shell和 scala shell

現在主要介紹scala shell下的一些簡單操作:

1.載入

rdds是resilient distrubuted datasets的簡寫,意為彈性分布式資料集。

這些rdds,並行分布在整個集群中。

rdds是spark分發資料和計算的基礎抽象類。

乙個rdds是乙個不可改變的分布式集合物件,因此在使用scala編寫時,前面加修飾符val

spark中,左右的操作都是通過rdds的c建立、轉換、操作完成的  

乙個rdds內部其實是由許多partition(分片)組成,但是我們在操作時只需要關注rdds即可

分片:分片是spark並行處理的單元,spark順序的、並行的處理分片。不同的分片可以在不同的節點上計算

rdds的建立:

(1)sc.parallelize()

一般只是測試使用:      

val rdd=sc.parallelize(array(1,2,2,4),4)  第乙個引數:帶並行化處理的集合   第二個引數:分割槽個數

下面還有一些我們測試時經常使用的函式 

rdd.count()        #統計rdds中的行數

rdd.collect().foreach(print)    #遍歷rdds中的每個元素,但是遍歷各個分片的的先後順序是隨機的

(2)載入外部資料集

val rddtext=sc.textfile("filepath")

(1)建立變數時時必須使用val或者var

(2)scala的匿名函式和型別推斷

匿名函式:

val lines2=lines.filter(line=>line.comtains("

world

"))  

#整個括號中的內容定義了乙個匿名函式,傳入乙個引數line,返回指定結果

#注意line的型別不需要進行指定,能夠推斷出來

Spark基本概念

下面是spark的乙個日誌計數示例,該程式演示了spark的計算模型 下面是spark執行時涉及的各元件的概況圖 從rdd轉換和儲存角度,使用者程式對rdd通過多個函式進行操作,將rdd進行轉換。block manager管理rdd的物理分割槽,每個block就是節點上對應的乙個資料塊,可以儲存在記...

Spark的基本概念

2018年年末,開始spark學習 block 輸入可能以多個檔案的形式儲存在hdfs上,每個file都包含了很多塊,稱為block。inuptsplit 當spark讀取這些檔案作為輸入時,會根據具體資料格式對應的inputformat進行解析,一般是將若干個block合併成乙個輸入分片,稱為in...

spark學習 基本概念描述

什麼是spark?是apache旗下的一款開源專案,通俗的理解就是乙個分布式的大資料處理框架,有乙個很大優點,一棧式解決方案 spark與hadoop相比有哪些優點?為什麼spark比hadoop快?因為spark基於記憶體進行計算而hadoop基於磁碟進行計算,hadoop把每次計算的結果存回磁碟...