第二部分
后面能不能接其他算子9它是不是 操作?
答: 可以接其他算子,但是接了算子之后,起不到缓存应有的效果,因为会重新触发
。
不是 操作。
,8:;: 是不是 ?
答:不是,很多人都会以为是 , 是
数据本地性是在哪个环节确定的?
具体的 $ 运行在那他机器上, 划分 的时候确定的
.. 的弹性表现在哪几点?
)自动的进行内存和磁盘的存储切换;
)基于 9 的高效容错;
*)$ 如果失败会自动进行特定次数的重试;
2) 如果失败会自动进行特定次数的重试,而且只会计算失败的分片;
3)$ 和 ,数据计算之后持久化缓存
4)数据调度弹性,?/>I/G 调度和资源无关
P)数据分片的高度弹性,分片很多碎片可以合并成大的,
常规的容错方式有哪几种类型?
)数据检查点0会发生拷贝,浪费资源
)记录数据的更新,每次更新都会记录下来,比较复杂且比较消耗性能
.. 通过 )*(记录数据更新)的方式为何很高效?
)75 记录了数据的来源,1?? 是不可变的,且是 75 级别的,且 ??
之间构成了链条,75 是弹性的基石。由于 1?? 不可变,所以每次操作就
产生新的 ,不存在全局修改的问题,控制难度下降,所有有计算链条
将复杂计算链条存储下来,计算的时候从后往前回溯
L;; 步是上一个 的结束,要么就 $
)记录原数据,是每次修改都记录,代价很大
如果修改一个集合,代价就很小,官方说 是
粗粒度的操作,是为了效率,为了简化,每次都是
操作数据集合,写或者修改操作,都是基于集合的
的写操作是粗粒度的, 的读操作既可以是粗粒度的
也可以是细粒度,读可以读其中的一条条的记录。
*)简化复杂度,是高效率的一方面,写的粗粒度限制了使用场景
如网络爬虫,现实世界中,大多数写是粗粒度的场景
%.. 有哪些缺陷?
)不支持细粒度的写和更新操作(如网络爬虫),$ 写数据是粗粒度的
所谓粗粒度,就是批量写入数据,为了提高效率。但是读数据是细粒度的也就是
说可以一条条的读
)不支持增量迭代计算,'$ 支持