嬛嬛喊你学Spark、Scala的安装_scala生态系统

四、spark的框架

Spark 框架模块包含:Spark Core、 Spark SQL、 Spark Streaming、 Spark GraphX、 Spark MLlib,而后四项的能力都是建立在核心引擎之上。
【Spark Core】:Spark的核心,Spark核心功能均由Spark Core模块提供,是Spark运行的基础。Spark Core以RDD为数据抽象,提供Python、Java、
Scala、R语言的API,可以编程进行海量离线数据批处理计算。

【SparkSQL】:基于SparkCore之上,提供结构化数据的处理模块。SparkSQL支持以SQL语言对数据进行处理,SparkSQL本身针对离线计算场景。同
时基于SparkSQL,Spark提供了StructuredStreaming模块,可以以SparkSQL为基础,进行数据的流式计算。

【SparkStreaming】:以SparkCore为基础,提供数据的流式计算功能。
MLlib:以SparkCore为基础,进行机器学习计算,内置了大量的机器学习库和API算法等。方便用户以分布式计算的模式进行机器学习计算。

【GraphX】:以SparkCore为基础,进行图计算,提供了大量的图计算API,方便用于以分布式计算模式进行图计算

五、Spark的核心数据集RDD

1 RDD定义
RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象,
代表一个不可变类型、可分区、里面的元素可并行计算的集合。可以认为RDD是分布式的"列表List或数组Array"(与其说是列表不如说是元组【其本身是不可变类型,只能通过血缘追踪】

六、RDD特性

1.高效的容错性

现有容错机制:数据复制或者记录日志RDD具有天生的容错性:血缘关系,重新计算丢失分区,无需回滚系统,重算过程在不同节点之间并行,只记录粗粒度的操作

2.中间结果持久化到内存,数据在内存中的多个RDD操作直接按进行传递,避免了不必要的读写磁盘开销

3.存放的数据可以是JAVA对象,避免了不必要的对象序列化和反序列化

七、RDD的依赖关系

父RDD的一个分区只被一个子RDD的一个分区所使用就是窄依赖,否则就是宽依赖

窄依赖是子RDD的一个分区只依赖与某个父RDD中的一个分区

宽依赖是子RDD的每一个分区都依赖于某个父RDD中一个以上的分区

八、Scala特性

1)面向对象

Scala是一种纯粹的面向对象语言。一个 对象的类型和行为是由类和特征描述的。类通过子类化和灵活的混合类进行扩展,成为多重继承的可靠解决方案。

2)函数式编程

Scala提供了轻量级语法来定义匿名函数,支持高阶函数,允许函数嵌套,并支持函数 柯里化。Scala 的样例类与模式匹配支持函数式编程语言中的代数类型。Scala 的单例对象 提供了方便的方法来组合不属于类的函数。用户还可以使用Scala 的模式匹配,编写类似 正则表达式的代码处理可扩展标记语言( Extensible Markup Language, XML )格式的数据。

3)静态类型

Scala配备了表现型的系统,以静态的方式进行抽象,以安全和连贯的方式进行使用。系统支持将通用类、内部类、抽象类和复合类作为对象成员,也支持隐式参数、转换和多

4)可扩展

Scala提供了许多独特的语言机制,可以以库的形式无缝添加新的语言结构

九、Scala安装

1)上传并解压安装spark安装包

tar -zxvf / export/ software/ spark-3.0.3-bin-hadoop2.7.tgz

2)设置环境变量

vim /etc/profile

exportSPARK_HOME=/usr/local/soft/spark-3.0.3
export PATH=$PATH:${SPARK_HOME}/bin
export PATH=$PATH:${SPARK_HOME}/sbin

source一下是环境变量生效

source /etc/profile

3)修改配置文件

cd spark/ conf/
cpspark env.sh.template spark env.sh
cp slaves. template slaves

加环境变量

vim spark-env.sh
exportSCALA_HOME=/usr/local/soft/scala-2.12.12
exportJAVA_HOME=/usr/local/soft/jdk1.8.0_202
exportSPARK_MASTER_IP=master
exportSPARK_WOKER_CORES=2
exportSPARK_WOKER_MEMORY=2g
exportHADOOP_CONF_DIR=/usr/local/soft/hadoop-3.1.3/etc/hadoop
#exportSPARK_MASTER_WEBUI_PORT=8080
#export SPARK_MASTER_PORT=7070

修改从节点ip

vim slaves

修改内容为slave1slave2

4)发布文件

scp -r/usr/local/soft/spark-3.0.3/ slave1:/usr/local/soft/
scp -r /usr/local/soft/spark-3.0.3/ slave2:/usr/local/soft/

5)分别在slave1 slave2上设置环境变量

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化资料的朋友,可以戳这里获取

  • 15
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值