*以下内容由《Spark快速大数据分析》整理所得。

读书笔记的第一部分是记录如何安装Spark?同时,简单介绍下Spark。

一、Spark安装

二、Spark介绍


一、Spark安装

如果是在个人电脑上学习Spark,建议先建个虚拟机,教程可参考1. 安装虚拟机,Hadoop和Hive

在下载Spark之前得确认之前安装的Hadoop版本是什么?

# 查看hadoop版本(这里我是2.7.7)hadoop version

然后,去官网下载兼容现有hadoop版本的spark并解压安装包:

cd~
tar -xf spark-3.0.0-bin-hadoop2.7.tgz
cd spark-3.0.0-bin-hadoop2.7
ls

现在,安装好了就可以试运行下Python或Scala版本的Spark shell了:

# 打开Python版本的Spark shell
cd spark-3.0.0-bin-hadoop2.7
bin/pyspark # 打开Scala版本的Spark setshell
bin/spark-shell


二、Spark介绍

“Spark是一个用来实现快速而通用的集群计算的平台。”,它一个主要特点是能够在内存中进行计算,因而更快。

1. Spark的核心组件有两个:驱动器程序(driver program)执行器(executor)

  • 驱动器程序:shell启动时已自动创建一个SparkContext对象(也称sc变量)去访问Spark。有了SparkContext,就可以用它创建RDD(弹性分布式数据集resilient distributed dataset,不能看作是存放着特定数据的数据集,而是看作如何计算数据的指令列表)。
  • 执行器:驱动器程序一般要管理多个执行器节点,不同节点会执行不同的工作,在集群上实现并行数据分析。
例如Python的行数统计
$bin/pyspark
>>>lines = sc.textFile("README.md") # 使用sc创建一个名为lines的RDD
>>>lines.count() # 执行器统计RDD中元素的个数
108

2. 运行Python脚本:使用Spark自带的bin/spark-submit脚本帮我们引入Python程序的Spark依赖(相当于为Spark的PythonAPI配置好的运行环境)

bin/spark-submit my_python_script.py

3. 在python中初始化Spark:

from pyspark import SparkConf, SparkContext

# 创建一个SparkConf对象来配置你的应用
conf = SparkConf().setMaster("local").setAppName("My App")

# 基于这个SparkConf创建一个SparkContext对象
sc = SparkContext(conf = conf)

1. Spark的安装及介绍的更多相关文章

  1. Spark安装与介绍

    1. Scala的安装 注意点:版本匹配的问题, Spark 1.6.2 -- Scala2.10 Spark 2.0.0 -- Scala2.11 https://www.scala-lang.or ...

  2. Cloudera Manager (centos)安装详细介绍

    文章全部来自:Cloudera Manager (centos)安装详细介绍http://www.aboutyun.com/thread-9190-1-1.html(出处: about云开发) 这里已 ...

  3. mac下Spark的安装与使用

    每次接触一个新的知识之前我都抱有恐惧之心,因为总认为自己没有接触到的知识都很高大上,比如上篇介绍到的Hadoop的安装与使用与本篇要介绍的Spark,其实在自己真正琢磨以后才发现本以为高大上的知识其实 ...

  4. neo4j 图数据库安装及介绍

    neo4j 图数据库安装及介绍 一.neo4j图数据库介绍 图数据库,顾名思义就是利用了"图的数据结构来作为数据存储逻辑体现的一种数据库",所以要想学好图数据库当然需要了解一些关于 ...

  5. Sikuli图形脚本测试工具安装及介绍(适合小白的测试神器)

    sikuli简单安装以及介绍附图: 一.简单介绍 SikuliX官方网站:https://launchpad.net/sikuli/(官方的最新版本是SikuliX1.1.0更新于2015-10-06 ...

  6. Spark standlone安装与配置

    spark的安装简单,去官网下载与集群hadoop版本相一致的文件即可. 解压后,主要需要修改spark-evn.sh文件. 以spark standlone为例,配置dn1,nn2为master,使 ...

  7. python Scrapy安装和介绍

    python Scrapy安装和介绍 Windows7下安装1.执行easy_install Scrapy Centos6.5下安装 1.库文件安装yum install libxslt-devel ...

  8. Spark standalone安装(最小化集群部署)

    Spark standalone安装-最小化集群部署(Spark官方建议使用Standalone模式)        集群规划:    主机        IP                    ...

  9. Visual Studio 2017正式版离线安装及介绍

    Visual Studio 2017 RTM正式版离线安装及介绍. 首先至官网下载:https://www.visualstudio.com/zh-hans/downloads/ VS 2017 正式 ...

随机推荐

  1. 微信小程序tabbar不显示2019.04.06

    app.json中pages的第一项必须在tabBar中,且这一项需要在pages的list中(与顺序无关)否则无法显示tabBar app.json中pages数组中第一项(首页),必须在tabBa ...

  2. MarkDown语法记录,还在用word,txt编写项目文档吗?

    开始之前 是不是在github上看项目的时候第一眼就要看项目介绍? 是不是经常在某些项目的代码里面看到一个README.MD文档 却不知道怎么写? 你是不是不知道,反正我是的. 作为一个程序员,可能写 ...

  3. 2020年在项目中使用MVVM正确姿势,你用对了吗?

    最近看到了几篇与 Jetpack MVVM 有关到文章,使我不禁也想淌一下这场混水.我是在 2017 年下半年接触的 Jetpack 的那套开发工具,并且后来一直将其作为开发的主要框架.在这段时间的使 ...

  4. python post与get请求的区别

    post:请求的url不带参数               查询参数在WebForms保存 get:请求的url会附带查询参数       查询参数在QueryString保存

  5. Jmeter之接口依赖

    一.应用场景 1.现在有两个接口,一个是登录,一个查询,但查询接口必须要依赖登录接口的token,那么通过正则表达式提取器提取登录接口的响应结果 2.现在有两个接口,A接口返回列表数据,另一个查询接口 ...

  6. P2340 [USACO03FALL]Cow Exhibition G题解

    新的奇巧淫技 原题传送门 众所周知,模拟退火是一种很强大的算法,DP很强,但我模拟退火也不虚,很多题你如果不会的话基本可以拿来水很多分.比如这道题,我用模拟退火可以轻松水过(虽然我是足足交了两页才过) ...

  7. 【CodeForces】835F Roads in the Kingdom

    一.题目 题目描述 王国有\(n\)座城市与\(n\)条有长度的街道,保证所有城市直接或间接联通,我们定义王国的直径为所有点对最短距离中的最大值,现因财政危机需拆除一条道路并同时要求所有城市仍然联通, ...

  8. CentOS 6编译安装Redis

    [root@localhost ~]# vim /etc/sysconfig/iptables # 添加如下:-A INPUT -m state –state NEW -m tcp -p tcp –d ...

  9. Codeforces Round #427 (Div. 2) E. The penguin's game (交互题,二进制分组)

    E. The penguin's game time limit per test: 1 second memory limit per test: 256 megabytes input: stan ...

  10. SSM中 spring.xml 配置文件

    <!--扫描service的impl--><context:component-scan base-package="com.aaa.ssm.service.impl&qu ...