Spark学习笔记

RDD(Resilient Distributed Dateset),弹性分布式数据集。

  • RDD的五大特性:
    1.RDD是由一系列partition组成
    2.算子(函数)是作用子partition上的
    3.RDD之间有依赖关系
    4.分区器是作用在K,V格式的RDD上
    5.partition对外提供最佳的计算位置,利于数据处理的本地化
  • 问题:
    1.什么是K.V格式的RDD?
    RDD中的每个元素是一个个的二元组,那么这个RDD就是K.V格式的RDD
    2.sc.textFile(),sparki没有直接读取HDFS文件的方法,textFile()底层调用的是MR读取HDFS文件的方法,首先会split每个split默认大小为128M,就是一个block大小,每个split对应一个partition
    3.哪里体现了RDD的弹性(容错)?
    1).RDD partition的个数可多可少
    2).RDD之间有依赖关系
    在这里插入图片描述
  • 算子
    transformations 延迟执行–针对RDD的操作
    action 触发执行
    简单的说就是使用transformations后并不会触发执行,也就是所谓的懒执行,只有遇到action算子后才会真正的执行
    transformations算子例如map()、flapMap()、textFile()
    action算子例如foreach()、count()
    区分他们的方法是看返回的是不是RDD类型,如果是RDD类型就是懒执行的,如果是一个具体类型(例如Long)那就是action算子

- RDD的持久化

  • cache
  • persist
  • checkpoint

cache()默认将数据存在内存中,只需要在textFile()方法后直接执行sc.cache()即可
persist支持手动指定持久化级别 persist(StorageLevel.MEMORY_ONLY)=cache()=persist()

cache和persist注意,
1.cache和persist 都是懒执行,需要Action算子触发执行。
2.对一个RDD cache或者persist之后可以赋值给一个变量,下次直接使用这个变量就是使用的持久化的rdd。
3.如果赋值给一个变量,那么cache和persist之后不能紧跟Action算子。

checkpoint
将数据存在磁盘中
需要先指定一个路径sc.setCheckpointDir()将数据存在该路径下
然后执行sc.checkpoint()
作用相当于游戏中的检查点
1.将数据存在磁盘中
2.解除检查点与之前的依赖关系
3.与persist(DISK_ONLY)的区别是checkpoint当程序运行完后还是会持久化在磁盘,而persist会将其回收

Spark集群搭建

  1. 上传后解压
  2. 配置./conf/slaves
  3. 配置./conf/spark-env.sh
    SPARK_MASTER_IP=node1
    SPARK_MASTER_PORT=7077
    SPARK_WORKER_CORES=2
    SPARK_WORKER_MEMORY=3g
    ip指master的地址 port指提交任务的端口(默认web端口为8080) cores表示worker的核心数(同时运行的线程数) memory指worker的内存大小
  4. 将配置好的安装包发送到其他节点
  5. 在master上启动集群 ./sbin/start-all.sh
  6. 修改master端口(可选)
    法1:配置./conf/spark-env.sh
    SPARK_MASTER_WEBUI_PORT=9999
    法2:修改maser节点中的./sbin/start-master.sh
    找到SPARK_MASTER_WEBUI_PORT=9999
    法3:临时导入环境变量(重启后失效)
    export SPARK_MASTER_WEBUI_PORT=9999
    删除临时环境变量 export -n SPARK_MASTER_WEBUI_PORT=9999
    在这里插入图片描述在这里插入图片描述
    Spark基于Yarn提交任务 在客户端./conf/spark-env.sh中配置 HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop在这里插入图片描述 在这里插入图片描述
    在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值