官网 http://spark.apache.org/docs/2.3.1/rdd-programming-guide.html#accumulators http://spark.apache.org/docs/2.3.1/api/scala/index.html#org.apache.spark ...
分类:
其他好文 时间:
2020-03-08 17:55:40
阅读次数:
96
1、概述 决策树及树集(算法)是用于机器学习任务的分类和回归的流行方法。决策树被广泛使用,因为它们易于解释,处理分类特征,扩展到多类分类设置,不需要特征缩放,并且能够捕获非线性和特征交互。树集分类算法(例如随机森林和boosting)在分类和回归任务中表现最佳。 spark.ml实现使用连续和分类特 ...
分类:
其他好文 时间:
2020-03-03 17:46:25
阅读次数:
96
1,栈溢出问题,主要原因:每个RDD会存储他的祖先,以便发生错误的时候,能够利用这种关系再次生成。算法类的spark程序,因为会迭代很多次,这种关系会变得很巨大,引发栈溢出问题 * 设置检查点 val sc = new SparkContext(conf) sc.setCheckpointDir(" ...
分类:
编程语言 时间:
2020-02-28 18:55:18
阅读次数:
60
一、对多次使用的RDD进行持久化 如何选择一种最合适的持久化策略? 默认情况下,性能最高的当然是MEMORY_ONLY,但前提是你的内存必须足够足够大, 可以绰绰有余地存放下整个RDD的所有数据。因为不进行序列化与反序列化操作,就避 免了这部分的性能开销;对这个RDD的后续算子操作,都是基于纯内存中 ...
分类:
其他好文 时间:
2020-02-28 14:18:23
阅读次数:
60
在Spark中,RDD(弹性分布式数据集)存在依赖关系,宽依赖和窄依赖。 宽依赖和窄依赖的区别是RDD之间是否存在shuffle操作。 窄依赖 窄依赖指父RDD的每一个分区最多被一个子RDD的分区所用,即一个父RDD对应一个子RDD或多个父RDD对应一个子RDD map,filter,union属于 ...
分类:
其他好文 时间:
2020-02-28 11:44:48
阅读次数:
46
DStream 中 window 函数有两种,一种是普通 WindowedDStream,另外一种是针对 window聚合 优化的 ReducedWindowedDStream。 Demo 源码 DStream 前提知识 在每个DStream 中会把每个batch 产生的 Rdd 放入Map中,也就 ...
这里所有算子均只适用于pairRDD。pairRDD的数据类型是(k,v)形式的键值对; PartitionBy(Partitioner) 对pairRDD进行分区操作,如果原有的partioner和现有的partioer是一致的话就不进行分区, 否则会生成ShuffleRDD,即会产生shuffl ...
分类:
其他好文 时间:
2020-02-24 19:02:26
阅读次数:
96
map(func) 返回一个新的RDD,该RDD由每一个输入元素经过func函数转换后组成。有多少个元素,func就被执行多少次。 mapPartitions(func) 类似于map,但是,map函数是独立地在RDD的每一个分区上运行,因此在类型为T的RDD上运行时,func的函数类型必须是Ite ...
分类:
其他好文 时间:
2020-02-23 14:53:19
阅读次数:
71
本文介绍一下rdd的基本属性概念、rdd的转换/行动操作、rdd的宽/窄依赖。 ...
分类:
其他好文 时间:
2020-02-22 13:40:00
阅读次数:
67
DAGScheduler类位置:org.apache.spark.scheduler //DAGScheduler调度的核心入口 1 private[scheduler] def handleJobSubmitted(jobId: Int, 2 finalRDD: RDD[_], 3 func: ( ...
分类:
其他好文 时间:
2020-02-22 00:19:46
阅读次数:
64