零基礎怎麼學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,即可免費領取一整套系統的大數據學習教程


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章