*以下内容由《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. 这类注解都不知道,还好意思说会Spring Boot ?

    前言 不知道大家在使用Spring Boot开发的日常中有没有用过@Conditionalxxx注解,比如@ConditionalOnMissingBean.相信看过Spring Boot源码的朋友一 ...

  2. 网络IO模型-异步选择模型(Delphi版)

    其实关于这个模型,网络上也有一个案例说明 老陈使用了微软公司的新式信箱.这种信箱非常先进,一旦信箱里有新的信件,盖茨就会给老陈打电话:喂,大爷,你有新的信件了!从此,老陈再也不必频繁上下楼检查信箱了, ...

  3. 多测师讲解 自动化测试理论(1)_高级讲师肖sir

    自动化测试理论什么是自动化测试?广义的:通过工具或程序替代或辅助人工测试的行为叫自动化测试狭义的:通过工具录制或编写脚本模拟手工测试的过程,通过回放或运行脚本执行测试用例,从而代替人工对系统的功能验证 ...

  4. 如何设计一个牛逼的API接口

    在日常开发中,总会接触到各种接口.前后端数据传输接口,第三方业务平台接口.一个平台的前后端数据传输接口一般都会在内网环境下通信,而且会使用安全框架,所以安全性可以得到很好的保护.这篇文章重点讨论一下提 ...

  5. 【C语言教程】“双向循环链表”学习总结和C语言代码实现!

    双向循环链表 定义 双向循环链表和它名字的表意一样,就是把双向链表的两头连接,使其成为了一个环状链表.只需要将表中最后一个节点的next指针指向头节点,头节点的prior指针指向尾节点,链表就能成环儿 ...

  6. 【原创】xenomai内核解析--xenomai与普通linux进程之间通讯XDDP(一)--实时端socket创建流程

    版权声明:本文为本文为博主原创文章,转载请注明出处.如有问题,欢迎指正.博客地址:https://www.cnblogs.com/wsg1100/ 1.概述 上篇文章xenomai内核解析--实时IP ...

  7. centos8平台使用dnf/yum管理软件包

    一,dnf的用途 centos7开始,DNF 成为了默认的软件包管理器,同时 yum 仍然是可用的 DNF包管理器克服了YUM包管理器的一些瓶颈,提升了用户体验,内存占用,依赖分析,运行速度等方面 D ...

  8. jquery ui,拖拽,dragsort

    一.导入js.导入jquery.dragsort.js外还需要导入jQuery. 二.HTML部分 <!DOCTYPE html> <html> <head> &l ...

  9. <article>

    今天介绍的是html中<article>标签的用法,如果有兴趣的朋友可以看一下! <article> 标签规定独立的自包含内容. 一篇文章应有其自身的意义,应该有可能独立于站点 ...

  10. Linux标准重定向-输入-输出-错误-多重

    一切皆文件,都是文件的操作 三种I/O设备 标准的输入输出 程序:指令+数据 读入数据:Input 输出数据:Output 系统中打开一个文件系统自动分配文件描述符,除了0,1,2是固定的,其他的都是 ...