Spark官方文檔翻譯(一)~Overview
Spark官方文檔翻譯,有問題請及時指正,謝謝。
Overview頁
http://spark.apache.org/docs/latest/index.html
Spark概述
Apache Spark 是一個快速的,分布式集群計算系統.它提供了高等級的針對 Java, Scala, Python and R的API接口, 他還是一個優秀的圖處理引擎. 它還支持一套高級的工具集: Spark SQL,Sql和結構化數據處理;
MLlib ,機器學習; GraphX ,圖處理; 還有 Spark Streaming.
下載
可以去網站下載頁(http://spark.apache.org/downloads.html)下載。文檔的版本是2.3.1.Spark 使用了Hadoop的客戶端庫來訪問HDFS和YARN。下載會預先打包一個最新的Hadoop版本。用戶可以下載Hadoop包然後通過Spark的環境變量使用Hadoop的各種版本。Scala和Java的用戶可以用Maven集成。以後Python的用戶可以用Pypi安裝。
想自己編譯去這頁看看(http://spark.apache.org/docs/latest/building-spark.html)
Spark 可以運行在Windows 和 UNIX(比如Linux, Mac OS)系統。單機安裝很簡單,裝java,配置JAVA_HOME環境變量。
Spark 運行在Java 8+, Python 2.7+/3.4+ ,R 3.1+.Scala 的API使用Scala 2.11。你需要使用Scala 的版本(2.11.x)來兼容。
Spark 2.2.0以後就不支持Java 7, Python 2.6和 Hadoop 2.6.5以前的版本了。
2.3.0以後就不支持Scala 2.10了。
運行例子和Shell
Spark 提供了幾個簡單的小程序。 Scala, Java, Python 、R的例子在examples/src/main文件夾下。運行java或scala簡單程序,在高一級目錄執行 bin/run-example <class> [params] (更相信的spark提交指令訪問http://spark.apache.org/docs/latest/submitting-applications.html),比如:
./bin/run-example SparkPi 10
你也可以用Scala shell與spark交互,這樣是學習框架最好的方式。
./bin/spark-shell --master local[2]
--master 這個設置可以查看http://spark.apache.org/docs/latest/submitting-applications.html#master-urls
local是一個線程 local[N]是多個線程 可以用local作為測試 獲得全部設置用 --help
Spark也提供了python api 用python解釋器與spark進行交互 bin/pyspark
./bin/pyspark --master local[2]
例子也有:
./bin/spark-submit examples/src/main/python/pi.py 10
1.4以後也提供了R api
./bin/sparkR --master local[2]
例子:./bin/spark-submit examples/src/main/r/dataframe.R
集群啟動
Spark集群模式可以在這查看 http://spark.apache.org/docs/latest/cluster-overview.html
Spark 可以獨立運行 ,也可以幾個存在的管理者協作運行,現在提供了這幾種部署方式:
- Standalone Deploy Mode: 這是最簡單的部署私人集群的方式
- Apache Mesos
- Hadoop YARN
- Kubernetes
可以查閱什麽呢(官網菜單翻譯)
Programming Guides:編程指南
- Quick Start:Spark API的快速介紹
- RDD Programming Guide: 預覽Spark的核心- RDDs (舊的api), accumulators(累加器), and broadcast variables(廣播變量)
- Spark SQL, Datasets, and DataFrames:處理結構數據 關系型查詢(比RDD新的API)
- Structured Streaming: 處理結構化數據流 關系型查詢 (使用Datasets 和 DataFrames, 比 DStreams更新的api)
- Spark Streaming: 用DStreams 處理數據流 (舊 API)
- MLlib: 機器學習
- GraphX:圖處理
API Docs:
- Spark Scala API (Scaladoc)scala文檔
- Spark Java API (Javadoc)java文檔
- Spark Python API (Sphinx)python文檔
- Spark R API (Roxygen2)r文檔
- Spark SQL, Built-in Functions (MkDocs) sparksql文檔
Deployment Guides:部署指南
- Cluster Overview: 集群模式概況
- Submitting Applications: 打包和部署應用
- Deployment modes:部署方式
- Amazon EC2: 5分鐘在EC2上部署
- Standalone Deploy Mode: 不需要第三方管理者 部署獨立集群
- Mesos:用 Apache Mesos部署一個私有集群
- YARN: 在Hadoop (YARN)上部署
- Kubernetes: 在 Kubernetes上部署
Other Documents:其他文檔
- Configuration: Spark 配置系統
- Monitoring: 應用行為的痕跡
- Tuning Guide: 內存和使用的最佳實踐
- Job Scheduling:Spark應用的計劃任務
- Security: Spark 權限支持
- Hardware Provisioning: 集群硬件推薦
- Integration with other storage systems:和其他數倉整合
- Cloud Infrastructures 雲設施
- OpenStack Swift 一個開源對象存儲系統
- Building Spark:通過maven構建spark
- Contributing to Spark 給spark貢獻
- Third Party Projects: 其他第三方項目
External Resources:外部資源
- Spark Homepage 首頁
- Spark Community 資源和當地聚會
- StackOverflow tag
apache-spark
- Mailing Lists: 提問題
- AMP Camps:訓練營活動報名
- Code Examples: 更多的例子 (Scala, Java, Python, R)
Spark官方文檔翻譯(一)~Overview