Spark学习笔记(基本概念与环境部署)

21/08/2019

10.Spark概述

spark速度快的原因

1.内存计算 2.有向无环图

通用性很强:

以前需要1.SQL查询:spark SQL实现

               2.流式计算:spark stremming 实现

               3.机器学习: spark MLib

               4.图算法软件:spark GraphX 实现

 

Spark vs hadoop

Hadoop : map reduce限制了表达能力;磁盘开销大;读写延迟/分阶段执行导致延迟

Spark:   快速迭代(based on DAG);内存计算

 

11. spark生态系统

之前的生态系统需要:

批处理(hadoop)/交互查询(impala)/流处理(storm)

缺点: 需要进行数据格式转换/维护成本较高/资源利用不充分

而Spark 可支持各种学习,通过YARN 进行统一分配管理

 

 

 

12.基本概念和架构设计

RDD

DAG 有向无环图

 

13.运行基本流程

Spark context代码操作RDD,构建了DAG,交给DAG schedule分成很多阶段stage,每个stage有很多任务(worker node来申请任务),task schedule将任务分发给nodes(优先给数据所在的节点),最后执行之后顺着原路返回。

 

22/08/2019

14/15/16.RDD运行原理

1. 概念,操作和特性

提供抽象数据结构,不管底层分布结构,实现逻辑关系(DAG),减少落磁盘。

一个只读的分区记录集合

分布式并行处理实现高效并行计算。

高度受限的共享内存模型

只读,通过生成新的RDD来完成一个数据修改的目的。

两种操作:action(动作型);transformation(转换型)

粗粒度转换:一次只能对RDD全集进行转换;spark不适合细粒度修改。

惰性处理:转换操作只记录转换轨迹,而不进行计算,当进行动作类型操作后才会进行真正的计算。

天然容错性:有向无环图记录了轨迹,可以直接重新生成丢失数据。

中间过程持久化RDD.Cache(),节省序列化和反序列化开销。

2. 依赖关系

宽依赖/窄依赖

判断是否是宽依赖和窄依赖的关键:是否发生shuffle操作(洗牌)

发成shuffle操作就是宽依赖,没有发生就是窄依赖。

窄依赖:1个父RDD对应1个子RDD/多个父RDD对应1个子RDD

宽依赖:1个父RDD对应多个RDD

窄依赖:可以进行流水线优化

宽依赖:不能进行流水线优化

fork/join优化: 遇到宽依赖shuffle必须要写磁盘/等待操作,宽依赖必须要经历等待。

 

16.Spark部署方式

单机部署

集群管理:standalone/mesos(性能比较高)/YARN(集群管理可连通hadoop等,最常用)

spark和mapreduce对等,但是hadoop里面的HDFS和HBase存储框架无法被spark取代。

回顾基本操作:

 

2/08/2019

19.安装Spark

安装hadoopjavahttp://dblab.xmu.edu.cn/blog/install-hadoop/

spark下载http://spark.apache.org

spark version:2.4.0 pre-build with user-provided Apache Hadoop

Verify this release using the 2.4.3 signatureschecksums and project release KEYS.

0.配置spark的classpath解压安装包spark-2.4.3-bin-without-hadoop.tgz到 user/local/

$sudo tar -zxf~/下载/spark-2.4.0-bin-without-hadoop.tgz-C /usr/local/
$cd usr/local
$sudo mv ./spark-2.4.0-bin-without-hadoop/ ./spark #更改文件名
$sudo chown -R hadoop ./spark #此处hadoop改为系统用户名

设置classpath

$ cd /usr/local/spark
$ cp ./conf/spark-env.sh.template ./conf/spark-env.sh

编辑配置文件加入一行

export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoopclasspath)

3.保存之后就可以用spark访问

spark单机模式hadoop安装成伪分布式

 

20.pyspark

命令参数进入环境local[*]  pyspark --master<master-url> 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值