Spark入门学习
1. Spark Overview(spark概述)
Apache spark是一个快速和通用的集群计算系统。它提供了Java,Scala,Python和R的高级APIs,以及支持通用执行图的优化引擎。它也支持一系列高级工具,包括用于SQL的Spark SQL、结构化数据处理、用于机器学习的MLlib,用于图形处理的GraphX以及Spark Streaming。
2. Downloading(下载)
从项目网址的下载页面下载Spark。这个文档是Spark 2.2.1版本的。Spark使用HDFS和YARN的Hadoop的客户端库。下载那些少数流行的Hadoop版本预先打包的。用户也可以下载“Hadoop free”二进制文件,并通过增加Spark类路径来运行带有任何Hadoop版本的Spark。Scala和Java用户可以使用Maven配合将Spark包含在他们项目中,将来Python用户也可以从PyPI安装Spark。
如果你喜欢通过源代码编译Spark,可以查看Building Spark。
Spark可以在Windows和类UNIX系统(如Linux,Mac OS)上运行。在一台机器上本地运行是很容易——你需要做的是在你系统Path上安装Java,或者通过JAVA_HOME环境变量指向Java安装目录。
Spark运行在Java8+,Python 2.7+/3.4+和R3.1+。对于Scala API,Spark2.2.1使用Scala2.11。你需要使用兼容性的Scala版本2.11.x。
注意,从Spark2.2.0开始,对2.6.5之前版本的Java7,Python2.6和旧Hadoop版本的支持已被删除。
注意,从Spark2.1.0开始,不支持Scala2.10,可能会在Spark2.3.0中删除。
3. Running the Examples and Shell(运行例子和shell)
Spark带有几个示例程序。Scala,Java,Python和R示例在example/src/main目录。在Spark根目录使用bin/run-example <class> [params]去运行Java或者Scala示例程序。(在幕后,调用spark-submit脚本来启动应用程序)例如:
./bin/run-example SparkPi 10
你也可以通过Scala shell的修改版本交互地运行Spark。这是学习框架的最好方式。
./bin/spark-shell --master local[2]
--master选项指向一个分布式集群的master URL,local 指使用一个线程本地运行,local[N] 指使用N个线程本地运行。你应该使用local进行测试。有关完整的选项列表,使用--help选项运行Spark Shell查看。
Spark也提供Python API。使用bin/pyspark在Python解释器中以交互方式运行Spark:
./bin/pyspark --master local[2]
示例应用程序也在Python中提供,如:
./bin/spark-submit examples/src/main/python/pi.py 10
自从1.4开始,Spark还提供了一个实验性的R API(仅包括DataFrame APIs)。使用bin/sparkR在R解释器中以交互方式运行Spark:
./bin/sparkR --master local[2]
示例应用程序也在R中提供,如:
./bin/spark-submit examples/src/main/r/dataframe.R
4. Launchiing on a Cluster(在集群中启动)
Spark集群模式概述解释了在集群上运行的相关概念。Spark可以单独运行,也可以运行在几个现有的集群管理器上。它目前提供了几个部署选择:
- Standalone Deploy Mode独立部署模式:最简单的方法是在一个私有集群上部署Spark。
- Apache Mesos
- Hadoop YARN
5. 接下来方向
项目目录:
- Quick Start:一个关于Spark API的快速介绍。
- RDD Programming Guide: Spark基础概述——RDDs(核心但旧的API),累加器和广播变量
- Spark SQL, Datasets, and DataFrames: 通过关联查询处理结构化数据(比RDDs更新的API)
- Structured Streaming:通过关联查询处理结构化数据(使用Datasets和DataFrames,比DStreams更新的API)
- Spark Streaming: 通过使用DStreams处理数据流(旧API)
- MLlib:应用于机器学习算法
- GraphX:处理图像
API Docs:
部署目录:
- Cluster Overview(集群概述):当在一个集群上运行时一些概念和组件的概述
- Submitting Applications:打包和部署应用
- Deployment modes(部署模式):
- Amazon EC2:在EC2上大概5分钟内启动一个集群的脚本
- Standalone Deploy Mode:不通过第三方集群管理器快速启动一个独立集群
- Mesos:使用Apache Mesos部署一个私有集群
- YARN:在Hadoop NextGen(YARN)上部署Spark(目前我在使用的模式)
- Kubernetes(试验性):在Kubernetes上部署Spark
参考资料:
http://spark.apache.org/docs/latest/
Spark入门学习的更多相关文章
- spark 入门学习 核心api
spark入门教程(3)--Spark 核心API开发 原创 2016年04月13日 20:52:28 标签: spark / 分布式 / 大数据 / 教程 / 应用 4999 本教程源于2016年3 ...
- Hadoop/Spark入门学习笔记(完结)
Hadoop基础及演练 ---第1章 初识大数据 大数据是一个概念也是一门技术,是在以Hadoop为代表的大数据平台框架上进行各种数据分析的技术. ---第2章 Hadoop核心HDFS Hadoop ...
- 使用scala开发spark入门总结
使用scala开发spark入门总结 一.spark简单介绍 关于spark的介绍网上有很多,可以自行百度和google,这里只做简单介绍.推荐简单介绍连接:http://blog.jobbole.c ...
- Spark入门实战系列--1.Spark及其生态圈简介
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .简介 1.1 Spark简介 年6月进入Apache成为孵化项目,8个月后成为Apache ...
- Spark入门实战系列--5.Hive(上)--Hive介绍及部署
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .Hive介绍 1.1 Hive介绍 月开源的一个数据仓库框架,提供了类似于SQL语法的HQ ...
- Spark入门实战系列--7.Spark Streaming(上)--实时流计算Spark Streaming原理介绍
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .Spark Streaming简介 1.1 概述 Spark Streaming 是Spa ...
- Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l“机器学 ...
- Spark入门实战系列--8.Spark MLlib(下)--机器学习库SparkMLlib实战
[注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .MLlib实例 1.1 聚类实例 1.1.1 算法说明 聚类(Cluster analys ...
- 【Spark深入学习-11】Spark基本概念和运行模式
----本节内容------- 1.大数据基础 1.1大数据平台基本框架 1.2学习大数据的基础 1.3学习Spark的Hadoop基础 2.Hadoop生态基本介绍 2.1Hadoop生态组件介绍 ...
随机推荐
- 西门子flexable创建画面
一.wincc flexable 创建画面包括以下四点 二.具体操作 1.组态画面模板 1)使用该模板的画面包括该模板的所有组件,一个模板也是一个画面 2)给模板上添加一个文本域如下图,则画面1也会显 ...
- 《Linux系统编程手册》读书笔记——第2章基本概念
操作系统的核心--内核 内核的职责 进程调度:Linux属于抢占式多任务操作系统,多个进程可同时驻留于内存,且每个进程都能获得对CPU的使用权.哪些进程获得对CPU的使用,以及每个进程能使用多长时间 ...
- ArcGIS API for JavaScript 4.2学习笔记[25] 官方第八章Analysis(空间查询)概览与解释
开森,最关注的空间分析章节终于到了,在空间查询那节逻辑性的代码简直要命(呵呵,空间分析的代码也要命...). 上目录截图: [Geodesic buffers(GeometryEngine)] 使用G ...
- 云计算---openstack镜像制作
一:本地部署KVM 1.安装KVM 1.1安装须知 查看CPU是否支持kvm完全虚拟机. [root@LINUX ~]# grep "flags" /proc/cpuinfofla ...
- eslint常见规则总结
google: eslint+rules es6: impot When you import the module's default, don't use brace {} 意思是,当你使用默认的 ...
- java实现发送邮件服务器,SMTP协议发送邮件
1.采用SMTP的邮件发送协议.准备:在网易注册一个邮箱,进入设置开启SMTP/pop3协议 2.接下来就是java代码实现了,下面都有注释,就不多做解释了. public class mail { ...
- Nodejs密集型CPU解决方案
首先说一下nodejs单线程的优势: 高性能,与php相比,避免了频繁创建切换线程的开销,执行更加迅速,资源占用小. 线程安全,不用担心同一变量被多线程读写,造成程序崩溃. 单线程的异步和非阻塞,其实 ...
- sourcetree跳过注册的方法
当前只有Win的版本,Mac自行百度(笑) 很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作. 然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者操作 ...
- 解决Windows和Linux使用npm打包js和css文件不同的问题
1.问题出现 最近公司上线前端H5页面,使用npm打包,特别奇怪的是每次打包发现css和js文件与Windows下打包不一致(网页使用Windows环境开发),导致前端页面功能不正常. 2.问题排查 ...
- 关于vs2010下水晶报表的使用入门
关于vs2010下使用水晶报表了解情况记录如下: 1.首先vs2010不再自带水晶报表控件了,需要下载安装vs2010配套的水晶报表控件:CRforVS_13_0.这个控件安装很简单,基本上都选择默认 ...