• Shockang
    2021-03-19
    RDD的5大特性总结起来就是:3个列表,2个函数。3个列表是分区列表,依赖列表和优先位置列表;2个函数就是:计算函数和分区函数。我这样总结是为了方便记忆的,分享给大家!

    作者回复: 不错的技巧~

    
    59
  • Z宇锤锤
    2021-03-27
    RDD的四大特性:两横两纵一漂移。两纵土豆每一个生产线的流转就是父RDD到子RDD的流转,其中的流转方法就是compute算子。两横:就是土豆和土豆片之间的工具,切出来的土豆片就是partitions,怎么切土豆片就是partitoner。漂移就是prefered location,选择在哪个RDD上取数据。

    作者回复: 66666666666666666 x 10的6次幂,全场你最6~

    共 3 条评论
    23
  • sparkjoy
    2021-03-23
    preferredLocations不起作用的场景有一种是存算分离的场景,计算节点在k8s集群里,远程读取分布式文件系统,例如hdfs或者ceph等,可能接入万兆SDN网络能够有一些收益

    作者回复: 正解~

    共 4 条评论
    17
  • sparkjoy
    2021-09-23
    老师,spark是惰性计算,action算子才能真正触发算子的计算逻辑,那么DAG(rdd的实例化以及dependency对象的创建)是什么时候构建的呢?没找到DAG创建的代码入口

    作者回复: 入口其实都是runJob,driver首先创建并提交最后一个stage。然后依次向前回溯,边创建stage边提交,直到最前面的stage。 具体的代码调用,可以看看infoQ的那篇《权力的游戏:Spark调度系统》。链接我回头帮你搜搜,那篇代码路径写的非常清楚~ 链接:https://www.infoq.cn/article/5aOHzQIaXX6NlHriLtSI

    
    6
  • 慢慢卢
    2021-06-17
    读了两遍,开始不太理解容错和Resilient 有什么关系,读了两遍,有点感觉了:弹性描述物体在压缩和拉伸之后具备恢复原状的能力。类比RDD,rdd因为依赖和compute,具备了错误恢复能力,把这个性质称之为弹性。

    作者回复: 666,没错,就是容错能力~

    
    6
  • 走刀口 💰
    2021-03-28
    老师,请教个问题,关于宽窄依赖划分。网上很多文章是根据父子rdd分区数量划分的,但我这样不对。比如cartsian算子,它父rdd一个分区对应子rdd多个分区,可它是窄依赖。 宽窄依赖划分依据到底是啥?

    作者回复: 是的,不能单纯根据分区数完成判断。 看算子,分类讨论。一类算子会直接记录宽窄依赖关系,另一类算子通过判断partitioner与父依赖是否一致来决定。 你可以在源码的RDD目录下查一查,哪些算子属于第一类,哪些属于第二类~

    
    4
  • 钝感
    2021-10-11
    刚开始听的时候:“什么土豆工坊?什么土豆片,什么形态,什么流水线,什么加工方法?”这都是啥啊。。再往后听,我的天!!这形容比喻也太贴切了吧!!👍,虽然已是深夜,但还是从床上起了起来,边吃薯片边听,我要听一宿,我要学习!!!🙈

    作者回复: 哈哈,一起加油~

    
    3
  • zxk
    2021-03-20
    preferredLocations,作业尽可能在在数据所在节点上运行,或者同个机架下等情况,都可以提升 I/O 效率。 当数据不管落在哪个节点,都需要从远端拉取数据时,这时候作用可能就不是那么大。

    作者回复: 正解,能举例说明吗?

    共 3 条评论
    3
  • tony
    2021-09-04
    纯算分离 有 计算节点+oss,所有计算节点从oss访问数据,网络io代价差不多。为了加速计算节点访问速度,还会在计算节点上加个缓存。 所以当计算节点访问数据不在cache,那么preferecneLocations应该就不起什么作用了。这么理解对吗?

    作者回复: 对,主要是从存储、计算分离的角度考虑这个问题,一旦两者分离,preferecneLocations就没有意义了~

    
    2
  • 林建林
    2021-03-31
    preferredLocations:可以理解为最佳位置,移动计算不移动数据,数据在哪就在哪计算,减少IO

    作者回复: 对,是这个道理,不过要考虑,有些情况,可以数据不动代码动,有些情况,就必须要动数据了。这也是这个问题想要大家去深入思考的,要分类讨论。

    
    2