Quick introduction to Apache Spark

什么是Spark

Apache Spark是一种快速通用的集群计算系统。它提供Java,Scala,Python和R中的高级API,以及支持通用执行图的优化引擎。它还支持一组丰富的更高级别的工具,包括Spark SQL用户SQL和结构化数据处理,MLlib 机器学习,GraphX用户图形处理

下载

从项目网站的下载页面获取Spark 。本文档适用于Spark版本2.3.2。Spark使用Hadoop的客户端库来实现HDFS和YARN。下载是针对少数流行的Hadoop版本预先打包的。用户还可以通过增加Spark的类路径下载“Hadoop免费”二进制文件并使用任何Hadoop版本运行Spark 。Scala和Java用户可以使用Maven坐标在他们的项目中包含Spark,并且将来Python用户也可以从PyPI安装Spark。

如果想要从源码构建Spark, 访问Building Spark

运行示例

Spark附带了几个示例程序。Scala,Java,Python和R示例都在 examples/src/main目录中。
要运行其中一个Java或Scala示例程序,请 bin/run-example [params]在顶级Spark目录中使用。

./bin/run-example SparkPi 10

还可以通过Scala shell的修改版本以交互方式运行Spark。

./bin/spark-shell --master local[2]

--master选项指定分布式集群的 主URL,或local使用一个线程local[N]在本地运行,或使用N个线程在本地运行。应该从使用local测试开始。有关选项的完整列表,请使用该--help选项运行Spark shell 。

Spark还提供了Python API。要在Python解释器中以交互方式运行Spark,使用 bin/pyspark:

./bin/pyspark --master local[2]

Python中也提供了示例应用程序。例如,

./bin/spark-submit examples/src/main/python/pi.py 10

Spark还提供了自1.4以来的实验性R API(仅包括DataFrames API)。要在R解释器中以交互方式运行Spark,请使用bin/sparkR

./bin/sparkR --master local[2]

R中也提供了示例应用程序。例如,

./bin/spark-submit examples/src/main/r/dataframe.R

在集群上使用Spark

Spark 群集模式概述说明了在群集上运行的关键概念。Spark既可以自己运行,也可以通过几个现有的集群管理器运行。它目前提供了几种部署选项:

  • 独立部署模式:在专用群集上部署Spark的最简单方法
  • Apache Mesos
  • Hadoop YARN
  • Kubernetes

编程指南

  • 快速入门:Spark API的快速入门; 从这里开始!
  • RDD编程指南:Spark基础知识概述 - RDD

  • Spark SQL,Datasets和DataFrames:使用关系查询处理结构化数据

  • 结构化流:使用关系查询处理结构化数据流

  • Spark Streaming:使用DStreams处理数据流

    • MLlib:应用机器学习算法

API 文档

  • Spark Scala API(Scaladoc)

  • Spark Java API(Javadoc)

部署指南

  • 群集概述:在群集上运行时概念和组件的概述

  • 提交应用程序:打包和部署应用程序

  • 部署模式:

    • Amazon EC2:允许您在大约5分钟内在EC2上启动集群的脚本
    • 独立部署模式:无需第三方集群管理器即可快速启动独立集群
    • Mesos:使用Apache Mesos部署私有集群
    • YARN:在Hadoop NextGen(YARN)之上部署Spark
    • Kubernetes:在Kubernetes上部署Spark

其他文件

  • 配置:通过其配置系统自定义Spark
  • 监控:跟踪应用程序的行为
  • 调优指南:优化性能和内存使用的最佳实践
  • 作业调度:在Spark应用程序内部和内部调度资源
  • 安全性:Spark安全支持
  • 硬件配置:群集硬件的建议
  • 与其他存储系统集成:
    • 云基础架构
    • OpenStack Swift
  • 构建Spark:使用Maven系统构建Spark
  • 为Spark做贡献
  • 第三方项目:相关的第三方Spark项目

外部资源:

  • Spark主页
  • Spark社区资源,包括本地聚会
  • StackOverflow标签 apache-spark
  • 邮件列表:在这里询问有关Spark的问题
  • AMP Camps:加州大学伯克利分校的一系列训练营,包括关于Spark,Spark Streaming,Mesos等的演讲和练习。视频, 幻灯片和练习可在线免费获取。
  • 代码示例:examplesSpark(Scala, Java, Python, R)的子文件夹中也提供了更多内容

你可能感兴趣的:(Quick introduction to Apache Spark)