本文始发于个人公众号: TechFlow ,原创不易,求个关注 今天是spark专题的第四篇文章,我们一起来看下Pair RDD。 定义 在之前的文章当中,我们已经熟悉了RDD的相关概念,也了解了RDD基本的转化操作和行动操作。今天我们来看一下RDD当中非常常见的PairRDD,也叫做键值对RDD, ...
分类:
其他好文 时间:
2020-04-26 20:51:45
阅读次数:
83
withScope是最近的发现版中新增加的一个模块,它是用来做DAG可视化的(DAG visualization on SparkUI) 以前的sparkUI中只有stage的执行情况,也就是说我们不可以看到上个RDD到下个RDD的具体信息。于是为了在 sparkUI中能展示更多的信息。所以把所有创 ...
分类:
其他好文 时间:
2020-04-24 01:04:51
阅读次数:
81
通过继承AccumulatorV2可以实现自定义累加器。 官方案例可参考:http://spark.apache.org/docs/latest/rdd-programming-guide.html#accumulators 下面是我自己写的一个统计卡种数量的案例。 package com.shua ...
分类:
其他好文 时间:
2020-04-24 00:55:29
阅读次数:
84
import java.sql.DriverManager import java.time.{LocalDateTime, ZoneOffset} import org.apache.spark.rdd.JdbcRDD import org.apache.spark.{SparkConf, Spa ...
分类:
数据库 时间:
2020-04-22 10:13:02
阅读次数:
86
import org.apache.spark.sql.{Row, SparkSession} import org.apache.spark.sql.types.{IntegerType, StringType, StructField, StructType} /** * RDD转DataFra ...
分类:
其他好文 时间:
2020-04-22 10:11:22
阅读次数:
67
package com.atguigu.bigdata.spark import org.apache.spark.rdd.RDD import org.apache.spark.{SparkConf, SparkContext} object WordCount { def main(args: ...
分类:
其他好文 时间:
2020-04-19 18:04:25
阅读次数:
66
1.RDD 是spark的核心数据结构,全称是弹性分布式数据集。 本质上是一种分布式的内存抽象,表示一个只读的数据分区集合。一个RDD通常只能通过其他的RDD转换而创建,RDD定义了各种丰富的转换操作,通过转换操作,新的RDD包含了如何从其他RDD衍生所必须的信息。这些信息构成了RDD之间的依赖关系 ...
分类:
数据库 时间:
2020-04-19 01:15:39
阅读次数:
108
区别: 1、map是对rdd中每一个元素进行操作 2、mapPartitions是对rdd中每个partition的迭代器进行操作 mapPartitions优点: 1、若是普通map,比如一个partition中有一万条数据,那么function要执行一万次,而使用mapPartions,一个ta ...
分类:
移动开发 时间:
2020-04-12 20:49:23
阅读次数:
80
1 重点 filter方法的使用 map方法的使用 flatMap方法的使用 forEach方法的使用 2 map和flatMap的区别: map的作用很容易理解就是对rdd之中的元素进行逐一进行函数操作映射为另外一个rdd。 flatMap的操作是将函数应用于rdd之中的每一个元素,将返回的迭代器 ...
分类:
编程语言 时间:
2020-04-11 13:27:56
阅读次数:
84
共性: 1、都是spark平台下的分布式弹性数据集 2、都有惰性机制,创建、转换如map操作时不会立即执行,遇到foreach等Action算子时才开始运算。 3、都会自动缓存计算 4、都有partition概念 区别: 1、RDD不支持sparkSQL操作 2、DF每一行类型固定为Row,只有通过 ...
分类:
其他好文 时间:
2020-04-08 21:03:30
阅读次数:
292