
Spark基础编程
天使在飞-666
与技术爱好者共勉,共赢
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Spark基础API总结
1. keyValue(单个RDD操作)(1)collectAsMap(把keyvalue的类型转换成Map,去掉重复的,后面覆盖前面的)scala> val pairRDD = sc.parallelize[(Int, Int)](Seq((1, 2), (3, 4), (3, 6)), 2)pairRDD: org.apache.spark.rdd.RDD[(Int, Int)] = P...原创 2018-06-02 22:18:35 · 270 阅读 · 0 评论 -
关于广播变量和累加器
广播变量(groadcast varible)为只读变量,使用广播变量的好处:每个节点的executor有一个副本,不是每个task有一个副本,可以优化资源提高性能,比如机器学习的时候。累加器:累加器可以在各个executor之间共享,修改,其中有几种创建方法object AccumulatorTest { def main(args: Array[String]): Unit = { ...原创 2018-06-03 19:36:31 · 510 阅读 · 0 评论 -
Key-Value类型的RDD的创建及基本转换(1)
1. 创建一个基本的key-value的RDDscala> val kvPairRDD = | sc.parallelize(Seq(("key1", "value1"), ("key2", "value2"), ("key3", "value3")))kvPairRDD: org.apache.spark.rdd.RDD[(String, String)]原创 2018-05-29 17:12:05 · 1721 阅读 · 0 评论 -
spark基础编程API(collectAsMap/lookup)-(3)
1. collectAsMap:说明如下对于一个RDD来说,collectAsMap函数返回所有元素集合,不过该集合是去掉的重复的key的集合,如果元素重该复集合中保留的元素是位置最后的一组样例:val pairRDD = sc.parallelize[(Int, Int)](Seq((1, 2), (3, 4), (3, 6)), 2)scala> val a = pairRDD.coll...原创 2018-05-30 04:38:47 · 1399 阅读 · 0 评论 -
Spark基础编程API查看分区(defaultParallelism/partitions.size)
SparkContext中有默认的RDD的分区,当系统运行过程中,可以通过下列方式获得scala> sc.defaultParallelismres10: Int = 8scala> otherRDD.partitions.sizeres11: Int = 8原创 2018-05-30 04:55:46 · 1055 阅读 · 0 评论 -
Spark基础API(cogroup)
cogroup函数是一个操作两个RDD的函数,且每个RDD是一个key-value类型;它可以把按照两个RDD的key进行分组,分组的结构是:元组第一个元素是一个key第二个元素是一个列表,其中第一个元素是RDD1的元素,第二个元素是RDD2的元素val pairRDD = sc.parallelize[(Int, Int)](Seq((1, 2), (3, 4), (3, 6), (5, 6))...原创 2018-05-30 05:18:14 · 1138 阅读 · 0 评论