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可以单独运行,也可以运行在几个现有的集群管理器上。它目前提供了几个部署选择:

5. 接下来方向

项目目录:

API Docs:

部署目录:

  • Cluster Overview(集群概述):当在一个集群上运行时一些概念和组件的概述
  • Submitting Applications:打包和部署应用
  • Deployment modes(部署模式):
  1. Amazon EC2:在EC2上大概5分钟内启动一个集群的脚本
  2. Standalone Deploy Mode:不通过第三方集群管理器快速启动一个独立集群
  3. Mesos:使用Apache Mesos部署一个私有集群
  4. YARN:在Hadoop NextGen(YARN)上部署Spark(目前我在使用的模式)
  5. Kubernetes(试验性):在Kubernetes上部署Spark

参考资料:

http://spark.apache.org/docs/latest/

Spark入门学习的更多相关文章

  1. spark 入门学习 核心api

    spark入门教程(3)--Spark 核心API开发 原创 2016年04月13日 20:52:28 标签: spark / 分布式 / 大数据 / 教程 / 应用 4999 本教程源于2016年3 ...

  2. Hadoop/Spark入门学习笔记(完结)

    Hadoop基础及演练 ---第1章 初识大数据 大数据是一个概念也是一门技术,是在以Hadoop为代表的大数据平台框架上进行各种数据分析的技术. ---第2章 Hadoop核心HDFS Hadoop ...

  3. 使用scala开发spark入门总结

    使用scala开发spark入门总结 一.spark简单介绍 关于spark的介绍网上有很多,可以自行百度和google,这里只做简单介绍.推荐简单介绍连接:http://blog.jobbole.c ...

  4. Spark入门实战系列--1.Spark及其生态圈简介

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .简介 1.1 Spark简介 年6月进入Apache成为孵化项目,8个月后成为Apache ...

  5. Spark入门实战系列--5.Hive(上)--Hive介绍及部署

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .Hive介绍 1.1 Hive介绍 月开源的一个数据仓库框架,提供了类似于SQL语法的HQ ...

  6. Spark入门实战系列--7.Spark Streaming(上)--实时流计算Spark Streaming原理介绍

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .Spark Streaming简介 1.1 概述 Spark Streaming 是Spa ...

  7. Spark入门实战系列--8.Spark MLlib(上)--机器学习及SparkMLlib简介

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .机器学习概念 1.1 机器学习的定义 在维基百科上对机器学习提出以下几种定义: l“机器学 ...

  8. Spark入门实战系列--8.Spark MLlib(下)--机器学习库SparkMLlib实战

    [注]该系列文章以及使用到安装包/测试数据 可以在<倾情大奉送--Spark入门实战系列>获取 .MLlib实例 1.1 聚类实例 1.1.1 算法说明 聚类(Cluster analys ...

  9. 【Spark深入学习-11】Spark基本概念和运行模式

    ----本节内容------- 1.大数据基础 1.1大数据平台基本框架 1.2学习大数据的基础 1.3学习Spark的Hadoop基础 2.Hadoop生态基本介绍 2.1Hadoop生态组件介绍 ...

随机推荐

  1. vs code调试console程序报错--preLaunchTask“build”

    网上有其他大神给出的建议是注释掉launch.json中的 "preLaunchTask": "build", 但是这种方式也会造成一个问题,就是再使用F5调试 ...

  2. JavaWeb之数据源连接池(2)---C3P0

    我们接着<JavaWeb之数据源连接池(1)---DBCP>继续介绍数据源连接池. 首先,在Web项目的WebContent--->WEB-INF--->lib文件夹中添加C3 ...

  3. 通过 JS 实现简单的拖拽功能并且可以在特定元素上禁止拖拽

    前言 关于讲解 JS 的拖拽功能的文章数不胜数,我确实没有必要大费周章再写一篇重复的文章来吸引眼球.本文的重点是讲解如何在某些特定的元素上禁止拖拽.这是我在编写插件时遇到的问题,其实很多插件的拖拽功能 ...

  4. springboot学习(三)————使用HttpMessageConverter进行http序列化和反序列化

    以下内容,如有问题,烦请指出,谢谢! 对象的序列化/反序列化大家应该都比较熟悉:序列化就是将object转化为可以传输的二进制,反序列化就是将二进制转化为程序内部的对象.序列化/反序列化主要体现在程序 ...

  5. echarts异步数据加载(在下拉框选择事件中异步更新数据)

    接触echarts 大半年了,从不会到熟练也做过不少的图表,隔了一段时间没使用这玩意,好多东西真心容易忘了.在接触echarts这期间也没有总结什么东西,今天我就来总结一下如何在echart中异步加载 ...

  6. 关于PLC

    学电气的一方面是单片机,一方面是PLC,,,,常常看到说选择比努力更重要,,单片机都很熟悉了,我就来介绍一下PLC..... 然后呢我先吹吹牛,,,目的是让大家相信我介绍的PLC绝对是亲身体验.... ...

  7. SQL Server中varchar和nvarchar的区别

    varchar(n) 长度为 n 个字节的可变长度且非 Unicode 的字符数据.n 必须是一个介于 1 和 8,000 之间的数值.存储大小为输入数据的字节的实际长度,而不是 n 个字节.nvar ...

  8. a标签实现一键拨号、发短信、发邮件、发起QQ会话

    a标签href的妙用:   <a href="tel:400-888-6633">拨打电话<a> <a href="sms:19956321 ...

  9. [编织消息框架][JAVA核心技术]异常应用

    QException是项目业务异常基类 按模块划分子类异常,方便定位那块出错 有个来源码属性code作用定位某个功能处理出错逻辑,数字类型节省内存空间,同时减少创建子类的子类 QSocketExcep ...

  10. 使用linux perf工具生成java程序火焰图

    pre.cjk { font-family: "Nimbus Mono L", monospace } p { margin-bottom: 0.1in; line-height: ...