Apache Spark 是一個快速的, 多用途的集群計(jì)算系統(tǒng)。 它提供了 Java, Scala, Python 和 R 的高級 API,以及一個支持通用的執(zhí)行圖計(jì)算的優(yōu)化過的引擎. 它還支持一組豐富的高級工具, 包括使用 SQL 處理結(jié)構(gòu)化數(shù)據(jù)處理的Spark SQL, 用于機(jī)器學(xué)習(xí)的MLlib, 用于圖形處理的GraphX, 以及Spark Streaming。
從該項(xiàng)目官網(wǎng)的下載頁面獲取 Spark. 該文檔用于 Spark 2.2.0 版本. Spark可以通過Hadoop client庫使用HDFS和YARN.下載一個預(yù)編譯主流Hadoop版本比較麻煩. 用戶可以下載一個編譯好的Hadoop版本, 并且可以 通過設(shè)置 Spark 的 classpath來與任何的 Hadoop 版本一起運(yùn)行 Spark. Scala 和 Java 用戶可以在他們的工程中通過Maven的方式引入 Spark, 并且在將來 Python 用戶也可以從 PyPI 中安裝 Spark。
如果您希望從源碼中編譯一個Spark, 請?jiān)L問編譯 Spark.
Spark可以在windows和unix類似的系統(tǒng)(例如, Linux, Mac OS)上運(yùn)行。它可以很容易的在一臺本地機(jī)器上運(yùn)行 -你只需要安裝一個JAVA環(huán)境并配置PATH環(huán)境變量辟躏,或者讓JAVA_HOME指向你的JAVA安裝路徑
Spark 可運(yùn)行在 Java 8+, Python 2.7+/3.4+ 和 R 3.1+ 的環(huán)境上。針對 Scala API, Spark 2.2.0 使用了 Scala 2.11. 您將需要去使用一個可兼容的 Scala 版本 (2.11.x).
請注意, 從 Spark 2.2.0 起, 對 Java 7, Python 2.6 和舊的 Hadoop 2.6.5 之前版本的支持均已被刪除.
請注意, Scala 2.10 的支持已經(jīng)不再適用于 Spark 2.1.0, 可能會在 Spark 2.3.0 中刪除土全。
Spark 自帶了幾個示例程序. Scala, Java, Python 和 R 示例在examples/src/main目錄中. 要運(yùn)行 Java 或 Scala 中的某個示例程序, 在最頂層的 Spark 目錄中使用bin/run-example [params]命令即可.(這個命令底層調(diào)用了spark-submit腳本去加載應(yīng)用程序)捎琐。例如,
./bin/run-example SparkPi 10
您也可以通過一個改進(jìn)版的 Scala shell 來運(yùn)行交互式的 Spark。這是一個來學(xué)習(xí)該框架比較好的方式裹匙。
./bin/spark-shell --master local[2]
該--master選項(xiàng)可以指定為針對分布式集群的 master URL, 或者 以local模式 使用 1 個線程在本地運(yùn)行,local[N]會使用 N 個線程在本地運(yùn)行.你應(yīng)該先使用local模式進(jìn)行測試. 可以通過–help指令來獲取spark-shell的所有配置項(xiàng). Spark 同樣支持 Python API瑞凑。在 Python interpreter(解釋器)中運(yùn)行交互式的 Spark, 請使用bin/pyspark:
./bin/pyspark --master local[2]
Python 中也提供了應(yīng)用示例。例如,
./bin/spark-submit examples/src/main/python/pi.py 10
從 1.4 開始(僅包含了 DataFrames APIs)Spark 也提供了一個用于實(shí)驗(yàn)性的R API概页。 為了在 R interpreter(解釋器)中運(yùn)行交互式的 Spark, 請執(zhí)行bin/sparkR:
./bin/sparkR --master local[2]
R 中也提供了應(yīng)用示例籽御。例如,
./bin/spark-submit examples/src/main/r/dataframe.R
該 Spark集群模式概述說明了在集群上運(yùn)行的主要的概念。 Spark 既可以獨(dú)立運(yùn)行, 也可以在一些現(xiàn)有的 Cluster Manager(集群管理器)上運(yùn)行绰沥。它當(dāng)前提供了幾種用于部署的選項(xiàng):
Standalone Deploy Mode: 在私有集群上部署 Spark 最簡單的方式
編程指南:
快速入門: 簡單的介紹 Spark API; 從這里開始篱蝇!
Spark 編程指南: 在 Spark 支持的所有語言(Scala, Java, Python, R)中的詳細(xì)概述贺待。
構(gòu)建在 Spark 之上的模塊:
Spark Streaming: 實(shí)時數(shù)據(jù)流處理
Spark SQL, Datasets, and DataFrames: 支持結(jié)構(gòu)化數(shù)據(jù)和關(guān)系查詢
MLlib: 內(nèi)置的機(jī)器學(xué)習(xí)庫
GraphX: 新一代用于圖形處理的 Spark API徽曲。
API 文檔:
部署指南:
集群概述: 在集群上運(yùn)行時概念和組件的概述。
提交應(yīng)用: 打包和部署應(yīng)用
部署模式:
Amazon EC2: 花費(fèi)大約5分鐘的時間讓您在EC2上啟動一個集群的腳本
Standalone Deploy Mode: 在不依賴第三方 Cluster Manager 的情況下快速的啟動一個獨(dú)立的集群
Mesos: 使用Apache Mesos來部署一個私有的集群
YARN: 在 Hadoop NextGen(YARN)上部署 Spark
Kubernetes (experimental): 在 Kubernetes 之上部署 Spark
其它文檔:
配置: 通過它的配置系統(tǒng)定制 Spark
監(jiān)控: 跟蹤應(yīng)用的行為
優(yōu)化指南: 性能優(yōu)化和內(nèi)存調(diào)優(yōu)的最佳實(shí)踐
任務(wù)調(diào)度: 資源調(diào)度和任務(wù)調(diào)度
安全性: Spark 安全性支持
硬件挑選: 集群硬件挑選的建議
與其他存儲系統(tǒng)的集成:
構(gòu)建 Spark: 使用 Maven 來構(gòu)建 Spark
第三方項(xiàng)目: 其它第三方 Spark 項(xiàng)目的支持
外部資源:
Spark 社區(qū)資源, 包括當(dāng)?shù)氐木蹠?/p>
Mailing Lists: 在這里詢問關(guān)于 Spark 的問題
AMP Camps: 在 UC Berkeley(加州大學(xué)伯克利分校)的一系列的訓(xùn)練營中, 它們的特色是討論和針對關(guān)于 Spark, Spark Streaming, Mesos 的練習(xí), 等等麸塞。在這里可以免費(fèi)獲取視頻,幻燈片和練習(xí)題秃臣。
Code Examples: 更多示例可以在 Spark 的子文件夾中獲取 (Scala,Java,Python,R)
原文地址: http://spark.apachecn.org/docs/cn/2.2.0/index.html
網(wǎng)頁地址: http://spark.apachecn.org/
github: https://github.com/apachecn/spark-doc-zh(覺得不錯麻煩給個 Star,謝謝!~)