排序:
默认
按更新时间
按访问量

Spark 之 重新设置分区的个数repartition()。

业务需求: 有事我们从hdfs上用spark 进行处理,很有可能 在hdfs 有多个block ,spark就会默认有多少个分区,在经过我们自己的逻辑计算后,得到的最后的结果数据并不是很大,同时想把它输出为一个文件,同理相反 想把她输出为多个文件,这时 repartition( num ) 就可以...

2018-08-13 17:01:42

阅读数:381

评论数:0

Spark API 之 top() 函数

top函数是一个柯理化 函数,全写为:def top(num: Int)(implicit ord: Ordering[T]): Array[T] 并且带有 隐式参数ordering类型,说明 该方法中肯定会 用到排序, 参数num :  是排序后取出前 num个。 demo1: val a ...

2018-07-17 09:07:23

阅读数:342

评论数:0

Spark API 之 countByValue

countByValue():根据rdd中的元素值相同的个数。返回的类型为Map[K,V],  K : 元素的值,V :元素对应的的个数demo1:val a = sc.parallelize(List("a","b",&am...

2018-07-16 16:12:06

阅读数:123

评论数:0

Spark API 之 distinct

distinct 函数是为了 去重,这个大家都知道,这里我举个简单的例子:demo:          val a = sc.parallelize(List("a","b","c",&am...

2018-07-04 16:50:30

阅读数:622

评论数:0

Spark API 之 countByKey

countByKey 和count函数类似,但是countBykey针对  k->v 对的集合使用,计算key出现的个数,案例如下val a = sc.parallelize(List((3,"a"),(3,"b&...

2018-07-02 14:16:42

阅读数:87

评论数:2

Spark API 之 countApproxDistinct 函数

countApproxDistinct(x):计算Rdd中元素的大约个数,并且去重,x代表精度,x越小代表计算的月仔细。 demo代码:val r1 = sc.parallelize(1 to 10000,20)r1.countApproxDistinct(0.1)  输出的结果: Long = ...

2018-07-02 14:03:13

阅读数:33

评论数:0

Spark API 之 countApproxDistinctByKey

countApproxDistinctByKey(double)该函数根据精确度double,来计算相同key的大约个数。demo:    val a = sc.parallelize(List("wang","li",&am...

2018-06-28 17:33:51

阅读数:27

评论数:0

Spark API 之 takeSample(boolean, sampleNum,seed) 详解

takeSample(boolean, sampleNum,seed):该函数是抽取随机数。前言:很重要,不然你不会理解seed的作用。用算法进行算出的结果为伪随机数,因为算法是固定的,只是我们在改变其参数而已,要知道在java中的Random类产生的数就是伪随机数,底层有一套自己的算法,该算法依...

2018-06-27 17:11:01

阅读数:389

评论数:1

Spark API 之 countApproxDistinct

countApproxDistinct(jdz):该函数是用来计算去重后的值的大约个数, jdz: 该参数是用来规定值之间的相似度(精度值),值与值之间的相似度(精度)达到 jdz, 则将其看作是一样的值。jdz越小说明值与值之间越相似。控制在 0到0.4(不包括)之间。demo1:       ...

2018-06-27 14:25:03

阅读数:85

评论数:0

Spark API 之 count

count() 函数: 返回在Rdd中的所有元素(与分区partition没关系)demo:       val rdd1 = sc.parallelize(List("a","b","c"...

2018-06-27 13:57:40

阅读数:239

评论数:0

Spark API 之 coalesce 重新分区(partition)

coalesce(numPartition,boolean):                 numPartition: 代表要从新分 多少个区(partition)                boolean         :   代表   宽依赖(true)和 窄依赖(false),...

2018-06-26 14:41:35

阅读数:34

评论数:0

Spark API 之 cartesian

该函数是求笛卡尔及很简单的   demo :val  a = sc.parallelize(List(2,3,4))val b = sc.parallelize(List(5,6,7))a.cartesian(b) 的结果为:                       Array[(Int, I...

2018-06-26 11:22:20

阅读数:84

评论数:0

Spark API 之 aggregate(a)(fun1,fun2)

aggregate是一个 柯里化函数,首先我们知道一个rdd有可能为多个partition。 a: 相对于fun1 作用于每个partition中的元素的第一个元素,即为每个partition增加一个首元素a,  相对于fun2 作用于  每个partition经过fun1后对应的结果 和 a ...

2018-06-26 10:16:37

阅读数:19

评论数:0

Spark API 之 cogroup 使用

tuple1Rdd.cogroup(tuple2Rdd) : 该方法针对的是元组之间的操作(RDD里面的元素是tuple对象,这里我简述为元组),否者无效,该元组是kv 对出现,cogroup方法的操作逻辑是:如果元组的k相同,则收集他们对应的v, 返回的类型为Array[(K, (Iterabl...

2018-06-19 15:33:29

阅读数:684

评论数:0

Spark API 之 collectAsMap 使用

collectAsMap 的使用对象必须是Tuple 元组类型,在spark中将元组类型转换为Map类型,应用示例:val a = sc.parallelize(List(2,3,4,5))val b = sc.parallelize(List("a",&...

2018-06-19 11:56:15

阅读数:42

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭