前情提要 "Scala函数式编程指南(一) 函数式思想介绍" "scala函数式编程(二) scala基础语法介绍" "Scala函数式编程(三) scala集合和函数" "Scala函数式编程(四)函数式的数据结构 上" "Scala函数式编程(四)函数式的数据结构 下" 1.面向对象的错误处理 ...
分类:
其他好文 时间:
2020-02-20 22:09:01
阅读次数:
54
什么是RDD RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象(其实是计算抽象)。代码中是一个抽象类,它代表一个不可变、可分区、里面的元素可并行计算的集合。 不可变:数据一旦写入,不可更改;联想到java 中的String类型, ...
分类:
其他好文 时间:
2020-02-20 21:55:51
阅读次数:
104
1、在一个完整的数据转换流程里往往涉及到多个具有衍生关系RDD,这些RDD其实是通过逻辑串联来利用装饰器模式层层包装扩展的的一堆对象,这些相邻RDD间必须有继承关系。并且比Java中的装饰器来的更彻底,借助Scala的抽象控制特性,这一系列RDD不代表任何实际数据,也不负责装载数据,描述的是纯粹的逻 ...
分类:
其他好文 时间:
2020-02-20 20:30:35
阅读次数:
69
在早期版本的Spark中,shuffle过程没有磁盘读写操作,是纯内存操作,后来发现效率较低,且极易引发OOME,较新版本的Shuffle操作都加入了磁盘读写进行了改进。 1、未经优化的HashShuffleManager:上一个stage中每一个task会对下一个stage的每一个task写一份数 ...
分类:
其他好文 时间:
2020-02-20 20:29:21
阅读次数:
62
1.课程目标 实践性 2.课下需要 在家搭建一个伪分布式 3.阿达 3.1发送到 ...
分类:
其他好文 时间:
2020-02-20 20:18:46
阅读次数:
52
1、Spark组件之间使用RPC机制进行通信。RPC的客户端在本地编写并调用业务接口,接口在本地通过RPC框架的动态代理机制生成一个对应的实现类,在这个实现类中完成soket通信、远程调用等功能的逻辑包装,而在RPC的服务端既编写业务接口也编写了具体的业务实现类,通过RPC框架以接口的方式暴露出来, ...
分类:
其他好文 时间:
2020-02-20 20:17:31
阅读次数:
57
1、spark的一大特性就是基于内存计算,Driver只保存任务的宏观性的元数据,数据量较小,且在执行过程中基本不变,不做重点分析,而真正的计算任务Task分布在各个Executor中,其中的内存数据量大,且会随着计算的进行会发生实时变化,所以Executor的内存管理才分析的重点。 2、在执行Sp ...
分类:
其他好文 时间:
2020-02-20 19:53:27
阅读次数:
56
Spark是基于内存的迭代计算框架,适用于需要多次操作特定数据集的应用场合。需要反复操作的次数越多,所需读取的数据量越大,受益越大,数据量小但是计算密集度较大的场合,受益就相对较小(大数据库架构中这是是否考虑使用Spark的重要因素)。 1、Spark的核心是什么? RDD是Spark的基本抽象,是 ...
分类:
其他好文 时间:
2020-02-20 17:10:10
阅读次数:
121
文本 文本是直接在代码里写常量值的一种方式以。在Scala中并不显式的使用Int或float,而是以文本的方式写成 val 变量。 如果整数文本结束于 L 或者 l,就是 Long 类型,否则就是 Int 类型。 如果浮点数文本以F或f结束,就是Float类型的,否则就是Double类型的。 可选的 ...
分类:
其他好文 时间:
2020-02-20 13:08:01
阅读次数:
62