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