Spark
Charles Gao
这个作者很懒,什么都没留下…
展开
-
map和flatMap的区别
map的作用很容易理解就是对rdd之中的元素进行逐一进行函数操作映射为另外一个rdd。flatMap的操作是将函数应用于rdd之中的每一个元素,将返回的迭代器的所有内容构成新的rdd,他通常用来切分单词。Spark中map函数会对每一条输入进行指定的操作,然后为每一条输入返回一个对象。 而flatMap函数则是两个操作的集合——正是“先映射后扁平化”:例子1:object MapAndFlatMap { def main(args: Array[String]): Unit = { val r原创 2021-03-02 04:40:53 · 2216 阅读 · 0 评论 -
aggregate和aggregateBy的区别
两者的区别就是,aggregate直接出结果,aggregateByKey出RDD。当两者有一个不为0的初始值时,二者的区别就显示出来了:aggregateByKey:初始值只会参与分区内计算,不会参与分区间计算。aggregate:初始值会参与分区内计算,也会参与分区间计算。也就是说,分区的数据????????初始值和分区内的数据????????????合,然后再和初始值????????分区????的数据????合val rdd: RDD[Int] = sc.makeRDD(List(1, 2,原创 2021-03-02 04:23:35 · 725 阅读 · 0 评论 -
RDD基本操作
背景:在大数据实际应用开发中存在许多迭代算法,如机器学习、图算法等,和交互式数据挖掘工具。这些应用场景的共同之处是在不同计算阶段之间会重用中间结果,即一个阶段的输出结果会作为下一个阶段的输入。RDD 正是为了满足这种需求而设计的。虽然 MapReduce 具有自动容错、负载平衡和可拓展性的优点,但是其最大的缺点是采用非循环式的数据流模型,使得在迭代计算时要进行大量的磁盘 I/O 操作。所以通过使用 RDD,用户不必担心底层数据的分布式特性,只需要将具体的应用逻辑表达为一系列转换处理,就可以实现管道化,从而避原创 2021-03-02 04:15:14 · 1477 阅读 · 0 评论 -
RDD是什么?
Spark 的核心是建立在统一的抽象弹性分布式数据集(Resiliennt Distributed Datasets,RDD)之上的,这使得 Spark 的各个组件可以无缝地进行集成,能够在同一个应用程序中完成大数据处理。那什么是RDD呢?详见下图及注释。...原创 2021-02-24 20:59:01 · 266 阅读 · 0 评论