Spark大数据处理学习笔记(3.2.2)掌握RDD算子

news2024/9/25 15:29:17

衔接上文:http://t.csdn.cn/Z0Cfj

文章目录

  • 三、掌握行动算子
    • 3.1 归约算子 - reduce()
    • 3.2 采集算子 - collect()
    • 3.3 首元素算子 - first()
    • 3.4 计数算子 - count()
    • 3.5 按键计数算子 - countByKey()
    • 3.6 前截取算子 - take(n)
    • 3.7 排序前截取算子 - takeOrdered(n)[(ordering)]
    • 3.8 遍历算子 - foreach()
    • 3.9 存文件算子 - saveAsFile()


三、掌握行动算子

3.1 归约算子 - reduce()

功能:

  • reduce()算子按照传入的函数进行归约计算

案例:

  • 计算1 + 2 + 3 + …+100的值在这里插入图片描述
  • 计算1 × 2 × 3 × 4 × 5 × 6 的值(阶乘 - 累乘)
    在这里插入图片描述
  • 计算12 + 22 + 32 + 42 + 5**2的值(先映射,后归约)
    在这里插入图片描述

3.2 采集算子 - collect()

功能:

  • collect()算子向Driver以数组形式返回数据集的所有元素。通常对于过滤操作或其他返回足够小的数据子集的操作非常有用。

案例:

  • 显示RDD的全部元素
    在这里插入图片描述

3.3 首元素算子 - first()

功能:

  • first()算子返回数据集中第一个元素

案例:

  • 显示RDD的首元素
    在这里插入图片描述

3.4 计数算子 - count()

功能:

  • count()算子统计RDD的元素个数

案例:

  • 统计RDD的元素个数
    在这里插入图片描述
  • 如果要统计单词个数,那就要采用扁平映射算子
    在这里插入图片描述

3.5 按键计数算子 - countByKey()

功能:

  • countByKey()算子按键统计RDD键值出现的次数,返回由键值和次数构成的映射。

案例:

  • List集合中存储的是键值对形式的元组,使用该List集合创建一个RDD,然后对其进行countByKey的计算。
    在这里插入图片描述
  • 注意:元素必须是键值对的二元组,不能是三元组
    在这里插入图片描述

3.6 前截取算子 - take(n)

功能:

  • take(n)算子返回RDD的前n个元素(同时尝试访问最少的partitions),返回结果是无序的,测试使用
    案例:
  • 返回集合中前任意多个元素组成的数组
    在这里插入图片描述
  • 三种情况:返回空集、真子集、全集

3.7 排序前截取算子 - takeOrdered(n)[(ordering)]

功能:

  • takeOrdered(n, [ordering])算子返回RDD中的前n个元素,并以自然顺序或自定义的比较器顺序进行排序
    案例:
  • 返回RDD前n个元素(升序)
    在这里插入图片描述
  • 返回前n个元素(降序)
    在这里插入图片描述
  • 其实,可以top(n)算子来实现同样的效果,更简单
    在这里插入图片描述

3.8 遍历算子 - foreach()

功能:

  • 计算 RDD中的每一个元素,但不返回本地(只是访问一遍数据),可以配合println友好地打印数据。
    案例:
  • 将RDD里的每个元素平方后输出(一定要采集,才能遍历)
    在这里插入图片描述
  • 将RDD的内容逐行打印输出
    在这里插入图片描述

3.9 存文件算子 - saveAsFile()

功能:

  • 将RDD数据保存到本地文件或HDFS文件
    案例:
  • 将rdd内容保存到HDFS的/park/out目录
    在这里插入图片描述
  • 查看另存的结果文件
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/638222.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自动测试LeetCode用例方法

自动合并测试LeetCode解题方法 在leetcode.com上答题,Run Code或者Sumbmit通常要Spending一会,如果提交一次就Accepted那还好,如果反复Wrong Answer,很耽误时间。为了调高效率和减少挫折(来回提交,一直Wrong Answer倍…

数字化时代,在一系列数据技术中浅谈商业智能BI

BI,Business Intelligence的简称,顾名思义,也叫做商业智能。其主要价值,在于通过一系列的数据技术,从数据中挖掘隐藏的客观规律,总结这些规律背后的原因,并用于指导公司业务的发展。 大多数情况…

Rust in Action笔记 第五章 深入理解数据

如果希望看到f32类型的数转换成整型数字u32类型,需要在unsafe包裹下调用std::mem::transmute(data),因为在安全的Rust语法中没有把整型数据按照bit转换成浮点数据的实现,如果想要看到浮点数的二进制输出(通过{:b})&…

huggingface lfs下载小技巧

先clone下来,然后再git lfs pull 明显要快得多。

NLP学习笔记九-机器翻译-seq2seq模型

NLP学习笔记九-机器翻译-seq2seq模型 seq2seq模型是做机器翻译任务的,根据名字其实我们也能有一些推测seq 2 seq,其实就是sequence to sequence,从一个序列到另一个序列,所以seq2seq模型其实不止可以做机器翻译,还可以…

跟国内这几个名校MBA项目学费比,浙大就是小弟弟……

MBA学费这些年来一直都是牵绊考生心绪的一个重要因素,在每年此起彼伏的调价声浪中,上岸时间的早或晚往往意味着成本方面看得见的增加,在去年的MBA招录过程中,部分院校也调整了相关学费,浙大MBA项目以33.6万的学费也跻身…

【从零开始学Django篇001】从创建一个新的Django项目开始

🍁前言 👑作者主页:👉CSDN丨博客园 🏆学习交流:👉在下周周ovoの社区 💎从零开始学Django系列专栏:👉Django系列专栏 ​ 在这个专栏,大概会从零开始…

后端-基于JdbcTemplate的数据库连接和使用

1、application.properties中进行数据库配置 spring.datasource.single.urlxxxx?useUnicodetrue&characterEncodingutf-8 spring.datasource.single.usernamexxx spring.datasource.single.passwordxxx spring.datasource.single.typecom.alibaba.druid.pool.DruidDataSou…

如何通过自养号测评在TEMU跨境电商平台中获取更大市场份额

2023年可谓是TEMU跨境电商平台的元年。自从2022年8月17日拼多多宣布将筹备跨境电商平台以来,TEMU犹如烈火燎原,迅速蔓延全球。9月1日,首站TEMU在北美市场正式上线,平台名称取意“Team Up,Price Down”,紧扣…

Easyui05补充

1.后台. 今天我们的主要任务是完成增加功能; 1.1BookDao. 1.2BookAddServlet. 注意,这里创建 Book对象赋值的时候,如果调用构造函数,那么所调用的构造函数里面 bookName属性赋值的时候必须调用 setBookName方法进行赋值&#xf…

从零开始Vue项目中使用MapboxGL开发三维地图教程(二)Mapbox地图样式

Mapbox地图样式 1、Mapbox地图样式定义2、Mapbox默认地图样式3、Mapbox地图样式对象4、切换地图样式的案例 1、Mapbox地图样式定义 Mapbox地图样式:按照Mapbox地图样式规范中描述的模式定义的一个JSON对象,或者是此类JSON的URL。可以接受null值以允许手动…

【图像处理】图像白平衡处理

一、说明 这就是我们今天要说的——图像增强!图像增强由一组用于优化图像的技术组成。这样,图像在视觉上变得更容易被人类感知,这反过来将进一步促进改进的图像处理分析。图像增强处理技术包括以下几种: 傅里叶变换 白平衡 直方…

python开发的连连看小游戏

说明: 1.在网上找了一个基础版本改进而来,大概增加了200行代码,相对原版要复杂了一些; 2.界面采用tkinter开发,比较简单; 3.新增了连接连功能; 4.新增了积分功能; 5.新增了陷入…

python套接字(一):socket的使用

文章目录 前言一、什么是套接字?二、python中套接字的常用方法三、使用1、服务器端代码2、客户端代码 前言 最近研究了一下python的socket的使用,特此记录下来,方便以后参考。 一、什么是套接字? 套接字(Socket),就…

线上展览平台平台有哪些?蛙色3D虚拟展厅平台简介

导语: 随着科技的飞速发展和全球化的趋势,线上展览平台正日益受到关注和重视。它们成为了传统展览方式的有力补充,为各行业提供了一个全新的展示和交流平台。 我们将一起探索当今主流的线上展览平台,并重点介绍蛙色3D虚拟展厅平台…

jmeter如何将上一个请求的结果作为下一个请求的参数

目录 1、简介 2、用途 3、下载、简单应用 4、如何将上一个请求的结果作为下一个请求的参数 1、简介 在JMeter中,可以通过使用变量来将上一个请求的结果作为下一个请求的参数传递。 ApacheJMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测…

网络安全(黑客)怎么自学?

最近看到很多问题,都是小白想要转行网络安全行业咨询学习路线和学习资料的,作为一个培训机构,学习路线和免费学习资料肯定是很多的。机构里面的不是顶级的黑阔大佬就是正在学习的同学,也用不上这些内容,每天都在某云盘…

Win10系统怎么设置滑动打开组合框?

Win10系统怎么设置滑动打开组合框?Win10系统戏中用户想要设置一下滑动打开组合框,但不知道怎么操作,用户需要打开Win10系统的高级系统设置选项,点击高级选项找到视觉效果选项,勾选滑动打开组合框选项保存即可。 解决方…

Unity入门3——脚本基础

一、生命周期函数 ​ 所有继承 MonoBehavior 的脚本,最终都会挂载到 GameObject 游戏对象上 ​ 生命周期函数就是该脚本对象依附的 GameObject 对象从出生到消亡整个生命周期中 ​ 会通过反射自动调用的一些特殊函数 ​ Unity 帮助我们记录了一个 GameObject 对象依…

OpenShift Route 的实现原理

OpenShift Route 的实现原理 OpenShift 如何使用 HAProxy 实现 Router 和 RouteRouter appHAProxy 配置1. HTTP2. HTTPS OpenShift 中的 Route 解决了从集群外部访问服务的需求,与 Kubernetes 中的 Ingress 类似。 OpenShift 中 Route 资源 API 定义如下&#xff1…