Apache Spark 大數據運算平台技術背景介紹
Apache Spark 大數據運算平台技術背景介紹
處理以及分析巨量資料已然成為多數研究的關鍵,而如何從巨量資料中找到需要且重要的資料,更是迫於眉睫的問題。
若利用傳統關聯式資料庫(RDBMS)的架構,已經無法迅速對巨量資料進行分析, 傳統式關聯式資料庫處理的資料大小約為 Gigabytes,而透過 Hadoop 的 MapReduce 技術可以處理約 Petabytes 等級的運算。
Apache Spark 簡介
Spark也是著名的Apache開放原始碼專案之一,和Hadoop上的MapReduce一樣,同樣是個具規模可擴充性的分散式計算平臺,Spark的出現,是瞄準MapReduce在應用上的限制而來的,試著提供優於Hadoop MapReduce的方案。
在2014年的資料排序基準競賽(Sort Benchmark Competition) 中,Databricks公司使用Spark技術,在207台的叢集中,以23分鐘完成 100 TB 的資料排序,刷新了2013年由Yahoo創下的記錄(在2,100台的叢集中使用MapReduce,花費了72分鐘完成),這項成就也讓Spark一戰成名。
Spark改進 Hadoop 內 MapReduce運算引擎
Spark是一個讓數據分析更加快速的叢集運算引擎,它使用了「記憶體內運算技術」(In-Memory Computing),能在資料尚未寫入硬碟時即在記憶體內分析運算。
Spark並非用來取代Hadoop,而是改進了Hadoop內MapReduce運算引擎,它支援了Hadoop所支援的儲存系統。
Spark 不僅改進了 Hadoop 用的傳統 MapReduce,也提供了豐富而且易用的 API,開發者可以使用自己 熟悉的程式語言來進行開發,其中包括 Java、Scala 與 Python 等多 樣化之程式語法,透過此架構之雲端平台將可以處理與分析數量龐大的資訊安全記錄檔。
Spark的關鍵核心技術RDD
Spark的核心支柱,乃是一個名為RDD(Resilient Distributed Dataset)的分散式計算模型,所謂的RDD,乃是由AMPLab實驗室所提出的概念,類似一種分散式的記憶體。而且,RDD是一種可跨群集(cluster)被使用、可儲存於主記憶體中的immutable的物件集合。
Spark特色
Spark主要功能
Spark 架構圖
Spark 架構圖說明
Spark 除了有豐富的函式庫,也對 Python, Java, Scala, SQL提供了相同一致的 API :
Spark的定位












留言
張貼留言