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)