五指山市网站建设_网站建设公司_响应式开发_seo优化
2026/1/19 4:55:32 网站建设 项目流程

文章目录

Action行动算子first、collect和collectAsMap使用案例

一、first使用案例

二、collect使用案例

三、collectAsMap使用案例


Action行动算子first、collect和collectAsMap使用案例

一、first使用案例

返回数据集中第一个元素,first=take(1)。

Java代码:

SparkConf conf = new SparkConf().setMaster("local").setAppName("FirstTest"); JavaSparkContext sc = new JavaSparkContext(conf); //first:返回RDD中的第一个元素 String first = sc.parallelize(Arrays.asList("a", "b", "c", "d")).first(); System.out.println(first); sc.stop();

Scala代码:

val conf: SparkConf = new SparkConf().setMaster("local").setAppName("FirstTest") val sc = new SparkContext(conf) //first: 取出RDD中第一个元素 val first: Int = sc.parallelize(Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)).first() println(first) sc.stop()

二、collect使用案例

将RDD中所有数据回收到Driver端。

Java代码:

SparkConf conf = new SparkConf().setMaster("local").setAppName("CollectTest"); JavaSparkContext sc = new JavaSparkContext(conf); //collect:将RDD中的所有元素收集到Driver端 List<String> collect = sc.parallelize(Arrays.asList("a", "b", "c", "d")).collect(); for (String s : collect) { System.out.println(s); } sc.stop();

Scala代码:

val conf: SparkConf = new SparkConf().setMaster("local").setAppName("CollectTest") val sc = new SparkContext(conf) //collect: 以数组的形式返回RDD中的所有元素 val nums: Array[String] = sc.parallelize(Array("a","b","c","d")).collect() println(nums.mkString(",")) sc.stop()

三、collectAsMap使用案例

对K,V格式的RDD数据回收为Map<K,V>对象到Driver端。

Java代码:

SparkConf conf = new SparkConf().setMaster("local").setAppName("CollectTest"); JavaSparkContext sc = new JavaSparkContext(conf); JavaPairRDD<String, Integer> rdd = sc.parallelizePairs(Arrays.asList( new Tuple2<String, Integer>("a", 1), new Tuple2<String, Integer>("b", 2), new Tuple2<String, Integer>("c", 3) )); //collectAsMap:将RDD中的元素转换为Map Map<String, Integer> map = rdd.collectAsMap(); //遍历Map for (Map.Entry<String, Integer> entry : map.entrySet()) { System.out.println(entry.getKey() + " " + entry.getValue()); } sc.stop();

Scala代码:

val conf: SparkConf = new SparkConf().setMaster("local").setAppName("CollectAsMapTest") val sc = new SparkContext(conf) //collectAsMap: 将RDD中的元素转换为Map val rdd: RDD[(String, Int)] = sc.parallelize(List(("a", 1), ("b", 2), ("c", 3), ("d", 4))) val map: collection.Map[String, Int] = rdd.collectAsMap() map.foreach(println) sc.stop()

  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询