spark是基於記憶體計算的大資料平行計算框架。09年誕生於加州大學伯克利分校amplab.
spark是mapreduce的替代方案,相容hdfs、hive等分布式儲存層,可融入hadoop的生態系統,以彌補mapreduce的不足。其主要優勢如下:
中間結果輸出
可以將多stage的任務串聯或者並行執行,而無需將stage中間結果輸出到hdfs中。
資料格式和記憶體分布
spark抽象出分布式記憶體儲存結構彈性分布式資料集rdd,進行資料的儲存。spark具有能夠控制資料在不同節點上的分割槽的特性,使用者可以自定義分割槽策略。
執行策略
mapreduce在資料shuffle之前花了大量的時間來排序,spark可以減輕上述問題帶來的開銷。
任務排程的開銷
在某些極端情況下,hadoop提交乙個任務的延遲非常高。spark採用了事件驅動的類庫akka來啟動任務,通過執行緒池復用執行緒來避免程序或執行緒啟動和切換開銷。
spark學習筆記一
一 執行spark shell的2種方式 1.scala spark shell 2.python pyspark 二.spark訪問hadoop hdfs檔案 準備工作 file 上傳到hdfs hadoop fs put test.log input test.log spark shell裡執...
Spark 學習筆記 一
1.分割槽 為了讓多個執行器並行地工作,spark 將資料分解成多個資料塊,每個資料塊叫做乙個分割槽。分割槽是位於集群中的一台物理機上的多行資料的集合,dataframe 的分割槽也說明了在執行過程 中,資料在集群中的物理分布。如果只有乙個分割槽,即使擁有數千個執行器,spark 也只有一 個執行器...
spark 學習筆記
最近使用spark簡單的處理一些實際中的場景,感覺簡單實用,就記錄下來了。部門使用者業績表 1000w測試資料 使用者 部門 業績 資料載入 val context new sparkcontext conf var data context.textfile data.txt 場景1 求每個部門的...