零基础怎么学spark?大数据开发学习

随着大数据时代的到来。各种技术衍生,市场工作岗位的需求越亦增长。今天科多大数据挑选大数据里高频技术词汇“spark”跟大家分享。


spark 如何入手?

概述

Apache Spark是一个快速和通用的集群计算系统。它提供Java,scala,Python、R语言的APIs,以及支持一般执行图形的优化引擎。 它还支持一组丰富的高级工具,包括用于SQL和结构化数据处理的Spark SQL,用于机器学习的MLlib,用于图形处理的GraphX和Spark Streaming。

下载

从项目网站的下载页面获取Spark。本文档适用于Spark 2.1.0版本。 Spark使用Hadoop的客户端库用于HDFS和YARN。下载是预先打包的一些流行的Hadoop版本。用户还可以下载“Hadoop free”二进制文件,并通过扩充Spark的类路径,使用任何Hadoop版本运行Spark。 Scala和Java用户可以使用其maven cooridnates在他们的项目中包含Spark,并且在将来Python用户也可以从PyPI安装Spark。

如果你想从源代码编译Spark,请访问Building Spark。

Spark在Windows和类UNIX系统(例如Linux,Mac OS)上运行。它很容易在一台计算机上本地运行 – 所有你需要的是在系统PATH上安装java,或者JAVA_HOME环境变量指向Java安装位置。

Spark运行于Java 7+,Python 2.6 + / 3.4 +和R 3.1+。对于Scala API,Spark 2.1.0使用Scala 2.11。您将需要使用兼容的Scala版本(2.11.x)。

请注意,Java 7和Python 2.6的支持在从Spark 2.0.0已过时,并且对于Scala 2.10和2.6之前的Hadoop版本的支持在Spark 2.1.0中已过时,并且可能会在Spark 2.2.0中被删除。

运行示例和Shell

Spark附带了几个示例程序。 Scala,Java,Python和R示例在examples/src/ main目录中。 要运行Java或Scala示例程序之一,请在顶级Spark目录中使用bin / run-example [params]。 (在后台,这将调用更通用的spark提交脚本来启动应用程序)。 例如,

./bin/run-example SparkPi10

您还可以通过Scala shell的修改版本以交互方式运行Spark。 这是一个学习框架的好方法。

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

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

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

./bin/pyspark--masterlocal[2]

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

./bin/spark-submit examples/src/main/python/pi.py10

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

./bin/sparkR--masterlocal[2]

示例应用也在R中提供。例如,

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

在群集上运行

Spark集群模式概述解释了在集群上运行的关键概念。 Spark可以单独运行,也可以通过多个现有集群管理器运行。 它目前提供了几个部署选项:

独立部署模式:在私有集群上部署Spark的最简单方法

Apache Mesos

Hadoop YARN

从哪里入手

编程指南

快速入门:快速介绍Spark API; 从这里开始!

Spark编程指南:Spark所有支持的语言(Scala,Java,Python,R)

基于Spark的模块:

Spark Streaming:处理实时数据流

Spark SQL,Datasets和DataFrames:支持结构化数据和关系查询

MLlib:内置机器学习库

GraphX:Spark的新图形处理API

API Docs

Spark Scala API (Scaladoc)

Spark Java API (Javadoc)

Spark Python API (Sphinx)

Spark R API (Roxygen2)

部署指南

集群概述:在集群上运行的组件概述

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

部署模式:

Amazon EC2:允许您在大约5分钟内在EC2上启动集群的脚本

独立部署模式:快速启动独立集群,无需第三方集群管理器

Mesos:使用Apache Mesos部署私有集群

YARN:在Spark上部署Hadoop的下一代(YARN)

其他文档

配置:- 通过其配置系统定制Spark

监视:跟踪应用程序的行为

优化指南:优化性能和内存使用的最佳做法

作业调度:在Spark应用程序内部和跨程序调度资源

安全:Spark安全支持

硬件配置:针对集群硬件的建议

与其他存储系统集成:

OpenStack Swift

编译Spark:使用Maven系统构建Spark

贡献给Spark

第三方项目:相关第三方Spark项目

外部资源

Spark主页

Spark社区资源,包括当地meetups

StackOverflow标签apache-spark

邮件列表:在这里提出关于Spark的问题

AMP训练营:在加州大学伯克利分校的一系列训练营,有关于Spark,Spark Streaming,Mesos等的特色演讲和练习。 更多视频,幻灯片和练习可免费在线获取。

代码示例:更多也可以在Spark的examples子文件夹中获得(Scala,Java,Python,R)

在这里相信有许多想要学习大数据的同学,大家可以+下大数据学习裙:716加上【五8一】最后014,即可免费领取一整套系统的大数据学习教程


猜你喜欢

转载自blog.51cto.com/13854477/2312561