1. 程式人生 > >零基礎怎麼學spark?大資料開發學習

零基礎怎麼學spark?大資料開發學習

隨著大資料時代的到來。各種技術衍生,市場工作崗位的需求越亦增長。今天科多大資料挑選大資料裡高頻技術詞彙“spark”跟大家分享。


spark 如何入手?

概述

Apache Spark是一個快速和通用的叢集計算系統。它提供Java,scala,Python、R語言的APIs,以及支援一般執行圖形的優化引擎。 它還支援一組豐富的高階工具,包括用於SQL和結構化資料處理的Spark SQL,用於機器學習的MLlib,用於圖形處理的GraphX和Spark Streaming。

下載

從專案網站的下載頁面獲取Spark。本文件適用於Spark 2.1.0版本。 Spark使用Hadoop的客戶端庫用於HDFS和YARN。下載是預先打包的一些流行的Hadoop版本。使用者還可以下載“Hadoop free”二進位制檔案,並通過擴充Spark的類路徑,使用任何Hadoop版本執行Spark。 Scala和Java使用者可以使用其maven cooridnates在他們的專案中包含Spark,並且在將來Python使用者也可以從PyPI安裝Spark。

如果你想從原始碼編譯Spark,請訪問Building Spark。

Spark在Windows和類UNIX系統(例如Linux,Mac OS)上執行。它很容易在一臺計算機上本地執行 – 所有你需要的是在系統PATH上安裝java,或者JAVA_HOME環境變數指向Java安裝位置。

Spark運行於Java 7+,Python 2.6 + / 3.4 +和R 3.1+。對於Scala API,Spark 2.1.0使用Scala 2.11。您將需要使用相容的Scala版本(2.11.x)。

請注意,Java 7和Python 2.6的支援在從Spark 2.0.0已過時,並且對於Scala 2.10和2.6之前的Hadoop版本的支援在Spark 2.1.0中已過時,並且可能會在Spark 2.2.0中被刪除。

執行示例和Shell

Spark附帶了幾個示例程式。 Scala,Java,Python和R示例在examples/src/ main目錄中。 要執行Java或Scala示例程式之一,請在頂級Spark目錄中使用bin / run-example [params]。 (在後臺,這將呼叫更通用的spark提交指令碼來啟動應用程式)。 例如,

./bin/run-example SparkPi10

您還可以通過Scala shell的修改版本以互動方式執行Spark。 這是一個學習框架的好方法。

./bin/spark-shell--master local[2]

--master選項指定分散式叢集的master URL,或者本地使用一個執行緒執行在本地,或者使用local [N]在本地使用N個執行緒執行。 您應該首先使用local進行測試。 有關選項的完整列表,請執行Spark shell 使用–help選項。

Spark還提供了一個Python API。 要在Python直譯器中以互動方式執行Spark,請使用bin / pyspark:

./bin/pyspark--masterlocal[2]

示例應用程式也在Python中提供。 例如,

./bin/spark-submit examples/src/main/python/pi.py10

Spark自1.4以來提供了一個實驗R API(僅包括DataFrames API)。 要在R直譯器中以互動方式執行Spark,請使用bin / sparkR:

./bin/sparkR--masterlocal[2]

示例應用也在R中提供。例如,

./bin/spark-submit examples/src/main/r/dataframe.R

在群集上執行

Spark叢集模式概述解釋了在叢集上執行的關鍵概念。 Spark可以單獨執行,也可以通過多個現有叢集管理器執行。 它目前提供了幾個部署選項:

獨立部署模式:在私有叢集上部署Spark的最簡單方法

Apache Mesos

Hadoop YARN

從哪裡入手

程式設計指南

快速入門:快速介紹Spark API; 從這裡開始!

Spark程式設計指南:Spark所有支援的語言(Scala,Java,Python,R)

基於Spark的模組:

Spark Streaming:處理實時資料流

Spark SQL,Datasets和DataFrames:支援結構化資料和關係查詢

MLlib:內建機器學習庫

GraphX:Spark的新圖形處理API

API Docs

Spark Scala API (Scaladoc)

Spark Java API (Javadoc)

Spark Python API (Sphinx)

Spark R API (Roxygen2)

部署指南

叢集概述:在叢集上執行的元件概述

提交應用程式:打包和部署應用程式

部署模式:

Amazon EC2:允許您在大約5分鐘內在EC2上啟動叢集的指令碼

獨立部署模式:快速啟動獨立叢集,無需第三方叢集管理器

Mesos:使用Apache Mesos部署私有叢集

YARN:在Spark上部署Hadoop的下一代(YARN)

其他文件

配置:- 通過其配置系統定製Spark

監視:跟蹤應用程式的行為

優化指南:優化效能和記憶體使用的最佳做法

作業排程:在Spark應用程式內部和跨程式排程資源

安全:Spark安全支援

硬體配置:針對叢集硬體的建議

與其他儲存系統整合:

OpenStack Swift

編譯Spark:使用Maven系統構建Spark

貢獻給Spark

第三方專案:相關第三方Spark專案

外部資源

Spark主頁

Spark社群資源,包括當地meetups

StackOverflow標籤apache-spark

郵件列表:在這裡提出關於Spark的問題

AMP訓練營:在加州大學伯克利分校的一系列訓練營,有關於Spark,Spark Streaming,Mesos等的特色演講和練習。 更多視訊,幻燈片和練習可免費線上獲取。

程式碼示例:更多也可以在Spark的examples子資料夾中獲得(Scala,Java,Python,R)

在這裡相信有許多想要學習大資料的同學,大家可以+下大資料學習裙:716加上【五8一】最後014,即可免費領取一整套系統的大資料學習教程