news 2026/5/23 18:32: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/5/21 8:06:32

TwitchDropsMiner 终极指南:轻松自动化获取Twitch掉落奖励

TwitchDropsMiner 终极指南&#xff1a;轻松自动化获取Twitch掉落奖励 【免费下载链接】TwitchDropsMiner An app that allows you to AFK mine timed Twitch drops, with automatic drop claiming and channel switching. 项目地址: https://gitcode.com/GitHub_Trending/tw…

作者头像 李华
网站建设 2026/5/18 22:22:36

一键部署高精度中文ASR|FunASR + ngram语言模型镜像全解析

一键部署高精度中文ASR&#xff5c;FunASR ngram语言模型镜像全解析 1. 背景与核心价值 随着语音交互技术的快速发展&#xff0c;自动语音识别&#xff08;ASR&#xff09;已成为智能客服、会议转录、字幕生成等场景的核心能力。然而&#xff0c;构建一个高精度、低延迟、易…

作者头像 李华
网站建设 2026/5/22 17:59:06

MicroG在HarmonyOS上的完整签名伪造解决方案:从零到精通

MicroG在HarmonyOS上的完整签名伪造解决方案&#xff1a;从零到精通 【免费下载链接】GmsCore Free implementation of Play Services 项目地址: https://gitcode.com/GitHub_Trending/gm/GmsCore 你是否在华为HarmonyOS设备上尝试使用MicroG时&#xff0c;反复遭遇&quo…

作者头像 李华
网站建设 2026/5/11 5:29:04

为什么Sambert部署失败?依赖修复与GPU适配实战教程

为什么Sambert部署失败&#xff1f;依赖修复与GPU适配实战教程 1. 引言&#xff1a;Sambert多情感中文语音合成的落地挑战 在当前AIGC快速发展的背景下&#xff0c;高质量、多情感的中文语音合成&#xff08;TTS&#xff09;技术正被广泛应用于虚拟主播、智能客服、有声读物等…

作者头像 李华
网站建设 2026/5/14 13:30:14

Synaptics触控板驱动安装:OEM厂商适配完整指南

Synaptics触控板驱动安装&#xff1a;OEM厂商适配完整指南 在笔记本电脑的日常使用中&#xff0c;触控板几乎是每位用户最频繁交互的输入设备。而当你双指滑动页面、三指切换桌面、轻点右键菜单时&#xff0c;背后默默工作的往往是 Synaptics pointing device driver —— 这…

作者头像 李华
网站建设 2026/5/10 7:11:35

模型解释工具:理解AWPortrait-Z的生成逻辑

模型解释工具&#xff1a;理解AWPortrait-Z的生成逻辑 1. 技术背景与核心价值 近年来&#xff0c;基于扩散模型的人像生成技术取得了显著进展。在众多开源项目中&#xff0c;AWPortrait-Z 作为一个基于 Z-Image 构建的 LoRA 微调模型&#xff0c;通过 WebUI 二次开发实现了高…

作者头像 李华