摘要: forerach(func) 在rdd的每一条数据上运行func 和 foreachPartition(func)算子 在rdd上的每一个分区上运行func 这一点可以在下图源码上很明显的看出来,foreachpartition上一般用来建立数据库连接操作,一个分区分配一个连接比一条数据分配一个连接 阅读全文
posted @ 2021-12-15 20:37 习惯了蓝 阅读(182) 评论(0) 推荐(0)
摘要: intersection算子是得到多个RDD之间的交集的,下面来从源码上看一下具体处理。 intersection算子是交集,cogroup算子是并集,intersection不依赖k,v类型,cogroup依赖k,v类型 1. 把 多个RDD对应的数据map成(value,null)元组类型 2. 阅读全文
posted @ 2021-12-13 20:24 习惯了蓝 阅读(217) 评论(0) 推荐(0)
摘要: 下面是distinct算子源码,他也是一个shuffle类算子,底层运用了reduceByKey算子 关键看这一句 对分区内数据先进行map操作,接着调用reduceByKey对同组内数据进行(x,_)=>x 函数操作。 阅读全文
posted @ 2021-12-13 13:22 习惯了蓝 阅读(91) 评论(0) 推荐(0)
摘要: groupByKey,group,reduceByKey,foldByKey,aggregateByKey 都可以算作聚合类算子。 聚合类算子,在map side端产生结果后,把结果保留在本地buffer中,如果满了或者这个节点的这次RDD任务执行完了,就会把结果刷新到磁盘上给下游的task,也就是 阅读全文
posted @ 2021-12-12 17:58 习惯了蓝 阅读(246) 评论(0) 推荐(0)
摘要: 点开groupBy源码,进去看见如下图,参数是写入的函数,以及一个默认的hashpartitioner 。 这个传进去的函数,就是把传入的数据中选出一个key的这种逻辑。 再点入,以下就是详细逻辑。可以看见groupBy函数以函数的返回值作为key,他和groupByKey唯一的区别是在前面加了一部 阅读全文
posted @ 2021-12-11 21:53 习惯了蓝 阅读(150) 评论(0) 推荐(0)
摘要: 先进到defaultPartitioner里,self接收得是父RDD。 这是defaultPartitioner函数: 这一段代码的主要逻辑是分区器的选取问题,是用上游RDD的分区器还是新建一个分区器。 评判标准就是: 如果现有的最大分区器是合格的,或者其分区数大于或等于默认分区数,请使用现有分区 阅读全文
posted @ 2021-12-07 22:49 习惯了蓝 阅读(479) 评论(0) 推荐(0)
摘要: Scala 下划线(_) 用法汇总链接 https://blog.csdn.net/lsgqjh/article/details/86078366?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2 阅读全文
posted @ 2021-11-30 22:34 习惯了蓝 阅读(76) 评论(0) 推荐(0)
摘要: standalone client模式是spark自带的一个分布式集群模式(单机模式) 主要有客户端节点,master节点,worker节点 worker节点启动后会向master节点注册信息,把自身的计算资源汇报给master,master节点保存信息后,会向worker返回连接告诉他注册成功,w 阅读全文
posted @ 2021-11-27 17:03 习惯了蓝 阅读(275) 评论(0) 推荐(0)
摘要: 应用机器学习的时候,会遇到很多问题。比如模型的选择,数据的拟合程度,新样本的泛化程度。这里记录 一些相关概念和应对方法。 1. 将 数据集分成 训练集,验证集,测试集。最好是采用随机方法来取,一般是 60% ,20%,20%。 要考虑假设函数的拟合程度(也就是模型选择)以及 新情况的泛化程度,验证集 阅读全文
posted @ 2021-11-20 19:22 习惯了蓝 阅读(101) 评论(0) 推荐(0)
摘要: spark中函数和方法定义虽然差不多,但是函数要更加灵活,用的最多的是匿名函数写法,尤其在链式编程的时候尤为突出。 函数定义方法多样 1.规范化写法,scala 函数的返回值是最后一行代码; def addInt(a:Int,b:Int) : Int = {var total : Int = a + 阅读全文
posted @ 2021-11-15 19:54 习惯了蓝 阅读(104) 评论(0) 推荐(0)