Apache Spark 學習紀錄
  • Introduction
  • Spark architecture
    • spark架構圖
  • Launch a Spark program
    • Spark-submit
    • Spark-shell
    • pyspark
  • RDD
  • DataFrame
  • SparkSQL
  • Spark Streaming
  • 性能調校
Powered by GitBook
On this page
  • Speed :
  • Ease of Use :
  • Generality :
  • Runs Everywhere :

Was this helpful?

Introduction

在 hadoop architecture 學習紀錄中介紹過了 Hadoop、Yarn 跟 MapReduce,接下來來介紹一個應用在分散式儲存系統上的一套工具,SPARK。

Apache Spark 是一個迅速的分散式運算系統,眾所皆知的幾個特點是 :

Speed :

Spark 所有的運算都是 In Memory 的,其速度甚至可以達到 MapReduce 的百倍以上,也比一般讀寫硬碟的速度高十倍有餘。

所以相對而言,也非常吃記憶體,使用 Spark 時的記憶體規劃是很重要的喔。

Ease of Use :

Spark 本身是用 Scala 開發的,但也提供 high-level APIs 支援 Java 、 Scala、Python、R 等多種語言。

Generality :

Spark 同時也支持圖形介面與多項工具的應用,包括 :

Spark SQL : 可以下 SQL 指令及對結構化資料做處理。

MLlib : 這個套件主要提供豐富的機器學習功能。

GraphX : graph處理。

Spark Streaming : 對串流資料的處理。

Runs Everywhere :

他可以在很多環境上執行,可以在Yarn、Mesos、K8S、Cloud(EC2),或是 standalone。

*本文以 pyspark 為範例。

*版本為 spark-2.2.1

NextSpark architecture

Last updated 5 years ago

Was this helpful?