news 2026/4/22 18:28:24

大数据Spark(七十七):Action行动算子first、collect和collectAsMap使用案例

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
大数据Spark(七十七):Action行动算子first、collect和collectAsMap使用案例

文章目录

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博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/23 12:38:04

如何快速掌握无名杀:新手完整入门指南

如何快速掌握无名杀&#xff1a;新手完整入门指南 【免费下载链接】noname 项目地址: https://gitcode.com/GitHub_Trending/no/noname 你是否想随时随地体验三国杀的策略乐趣&#xff1f;无名杀作为开源的三国杀网页版实现&#xff0c;让你在浏览器中就能享受原汁原味…

作者头像 李华
网站建设 2026/4/23 12:08:47

PojavLauncher_iOS:在iPhone和iPad上畅玩Minecraft Java版

PojavLauncher_iOS&#xff1a;在iPhone和iPad上畅玩Minecraft Java版 【免费下载链接】PojavLauncher_iOS A Minecraft: Java Edition Launcher for Android and iOS based on Boardwalk. This repository contains source code for iOS/iPadOS platform. 项目地址: https:/…

作者头像 李华
网站建设 2026/4/23 14:17:03

一键生成电台/评书/ASMR音频|Voice Sculptor使用全指南

一键生成电台/评书/ASMR音频&#xff5c;Voice Sculptor使用全指南 随着语音合成技术的不断演进&#xff0c;基于自然语言指令驱动的声音定制系统正在成为内容创作者的新利器。Voice Sculptor作为一款融合LLaSA与CosyVoice2核心技术的二次开发项目&#xff0c;提供了前所未有的…

作者头像 李华
网站建设 2026/4/12 15:22:10

音乐AI分析神器musicnn:3步实现智能音频标记的终极指南

音乐AI分析神器musicnn&#xff1a;3步实现智能音频标记的终极指南 【免费下载链接】musicnn Pronounced as "musician", musicnn is a set of pre-trained deep convolutional neural networks for music audio tagging. 项目地址: https://gitcode.com/gh_mirror…

作者头像 李华
网站建设 2026/4/15 18:19:32

PyInstaller终极指南:5步快速打包Python应用实现跨平台部署

PyInstaller终极指南&#xff1a;5步快速打包Python应用实现跨平台部署 【免费下载链接】pyinstaller Freeze (package) Python programs into stand-alone executables 项目地址: https://gitcode.com/gh_mirrors/py/pyinstaller PyInstaller作为专业的Python程序打包工…

作者头像 李华