1. 程式人生 > >Spark學習筆記(一)——spark簡介

Spark學習筆記(一)——spark簡介

Spark是什麼

spark是基於記憶體計算的大資料平行計算框架。09年誕生於加州大學伯克利分校AMPLab.

Spark相較於Hadoop的優點

Spark是MapReduce的替代方案,相容HDFS、Hive等分散式儲存層,可融入Hadoop的生態系統,以彌補MapReduce的不足。其主要優勢如下:

  1. 中間結果輸出
    可以將多stage的任務串聯或者並行執行,而無需將Stage中間結果輸出到HDFS中。
  2. 資料格式和記憶體分佈
    Spark抽象出分散式記憶體儲存結構彈性分散式資料集RDD,進行資料的儲存。Spark具有能夠控制資料在不同節點上的分割槽的特性,使用者可以自定義分割槽策略。
  3. 執行策略
    MapReduce在資料Shuffle之前花了大量的時間來排序,Spark可以減輕上述問題帶來的開銷。
  4. 任務排程的開銷
    在某些極端情況下,hadoop提交一個任務的延遲非常高。Spark採用了事件驅動的類庫AKKA來啟動任務,通過執行緒池複用執行緒來避免程序或執行緒啟動和切換開銷。

相關推薦

Spark學習筆記——spark簡介

Spark是什麼 spark是基於記憶體計算的大資料平行計算框架。09年誕生於加州大學伯克利分校AMPLab. Spark相較於Hadoop的優點 Spark是MapReduce的替代方案,相容HDFS、Hive等分散式儲存層,可融入Hadoop的生態

Spark學習筆記16——Spark Streaming 整合Kafka

1 啟動 zk(zookeeper-3.4.8) 三個節點同時操作 zkServer.sh start 2 啟動 Kafka 三個節點同時操作 kafka-server-start.sh /home/hadoop/apps/kafka_2.10-0.8.2.1/conf

Spark學習筆記15——Spark Streaming 整合 Flume

1 flume 配置檔案 在 flume-env.sh 裡配置 JAVA_HOME 1.1 flume-pull.conf # Name the components on this agent a1.sources = r1 a1.sinks = k1 a1.chan

Spark學習筆記14——Spark Streaming 資料累加的案例

1 原始碼 package mystreaming import org.apache.spark.{HashPartitioner, SparkConf, SparkContext} import org.apache.spark.streaming.{Seconds, Stre

Spark學習筆記13——Spark Streaming 案例

1 Spark Streaming 介紹 Spark Streaming類似於Apache Storm,用於流式資料的處理。根據其官方文件介紹,Spark Streaming有高吞吐量和容錯能力強等特點。Spark Streaming支援的資料輸入源很多,例如:Kafka、Flume

Spark學習記錄Spark 環境搭建以及worldCount示例

安裝Spark ------------------- 首先,安裝spark之前需要先安裝scala,並且安裝scala的版本一定要是將要安裝的spark要求的版本。比如spark2.1.0 要求scala 2.11系列的版本,不能多也不能少 1.下載spark-2.1.0-bin-hadoop

Spark學習筆記1—— Spark 介紹,叢集安裝

1 Spark 介紹 Spark是一種快速、通用、可擴充套件的大資料分析引擎,2009年誕生於加州大學伯克利分校AMPLab,2010年開源,2013年6月成為Apache孵化專案,2014年2月成為Apache頂級專案。目前,Spark生態系統已經發展成為一個

Spark學習筆記3—— Spark計算模型 RDD

1 彈性分散式資料集RDD 1.1 什麼是 RDD RDD(Resilient Distributed Dataset)叫做分散式資料集,是Spark中最基本的資料抽象,它代表一個不可變、可分割槽、裡面的元素可平行計算的集合。RDD具有資料流模型的特點:自動容錯

Spark學習筆記9—— Spark IP位置查詢

1 資料來源 ip.txt 1.0.1.0|1.0.3.255|16777472|16778239|亞洲|中國|福建|福州||電信|350100|China|CN|119.306239|26.07530

Spring 學習筆記簡介

Spring的簡介 來自百度百科:https://baike.baidu.com/item/spring/85061?fr=aladdin Spring是一個開放原始碼的設計層面框架,他解決的是業務邏輯層和其他各層的鬆耦合問題,因此它將面向介面的程式設計思想貫穿整個系統應用。Spr

圖解演算法學習筆記: 演算法簡介

本章內容:     編寫第一種查詢演算法——二分查詢。     學習如何談論演算法的執行時間——大O表示法。 1) 演算法是一組完成任務的指令,任何程式碼片段都可視為演算法。 2)二分查詢:一種查詢演算法,其輸入是一個有序的元素列表。 Python實現二分查詢程式碼:

大資料實時計算Spark學習筆記11—— Spark Streaming

1 Spark Streaming spark core 的擴充套件,針對實時資料處理,具有可擴充套件、高吞吐、容錯; 內部,spark 接受實時資料流,分成 batch 進行處理,最終在每個 batch 產生結果; 1.1 discretized strea

Spark學習筆記18Spark Streaming中空RDD處理

本期內容: 1 Spark Streaming中的空RDD處理 2 Spark Streaming程式的停止 1 Spark Streaming中的空RDD處理  在Spark Streaming應用程式中,無論使用什麼 DStream,底層實際上就是操作RDD。 從一

docker學習筆記——docker簡介及安裝

最近在學習docker,決定把學習及動手實踐的過程記錄下來。 本系列教程根據大講臺—Docker最佳實戰整理 1. 什麼是docker Docker 是一個開源專案,誕生於 2013 年初,最初是 dotCloud 公司內部的一個業餘專案。它基於 Goo

jQuery 學習筆記——jQuery簡介、jQuery語法

 內容選自w3cschool教程 一句話描述JQuery:jQuery 是一個 JavaScript 庫。jQuery 極大地簡化了 JavaScript 程式設計。 一. jQuery簡介 jQuery 庫可以通過一行簡單的標記被新增到網頁中。 1. jQuery

spark學習筆記3spark核心資料結構RDD

一個簡單的例子 /* SimpleApp.scala */ import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ import org.apache.spark.Spar

thrift學習筆記 thrift簡介及第一個helloword程式

簡介 facebook開源的RPC框架,秉承了Facebook一貫的只管拉屎不管擦屁股的作風. Thrift是一個軟體框架,用來進行可擴充套件且跨語言的服務的開發。它結合了功能強大的軟體堆疊和程式碼生成引擎,以構建在 C++, Java, Python, P

OpenCms9學習筆記——OpenCms9簡介

OpenCms是一個功能豐富並且非常強大的開源CMS,小站大站都非常的容易搞定,而且用到的技術也非常常用——java和xml。面向使用者OpenCms非常適合構建高度複雜的多語言支援的網站,並且網站可以

Spark學習筆記-Spark Streaming

Spark Streaming支援實時資料流的可擴充套件(scalable)、高吞吐(high-throughput)、容錯(fault-tolerant)的流處理(stream processing)。               &n

Spark (Python版) 零基礎學習筆記—— 快速入門

由於Scala才剛剛開始學習,還是對python更為熟悉,因此在這記錄一下自己的學習過程,主要內容來自於spark的官方幫助文件,這一節的地址為: 文章主要是翻譯了文件的內容,但也在裡邊加入了一些自己在實際操作中遇到的問題及解決的方案,和一些補充的小知識,一起學習。 環境