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

衔接上文: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目录
    在这里插入图片描述
  • 查看另存的结果文件
    在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vim实用功能汇总

文章目录 1. 读代码1.1 vim中文件跳转1.2 语法高亮模式1.3 Visual 模式 2. 配置vim成为python的IDE 1. 读代码 1.1 vim中文件跳转 vim中文件跳转 这个其实不是靠什么插件完成的,而是vim编辑器自带的功能把光标放在要跳转的文件上,按下gf,即…

加速应用迭代与更新:Weex与小程序容器的快速开发之道

Weex是一个跨平台的移动应用开发框架,由阿里巴巴旗下的阿里巴巴前端团队开发。它允许开发者使用单一的代码库来构建同时适用于iOS和Android平台的移动应用。Weex使用基于Vue.js的声明式语法来描述应用程序的界面,并通过JavaScript运行时引擎在移动设备上…

2023年中职组“网络安全”赛项南昌市竞赛任务书

2023年中职组“网络安全”赛项 南昌市竞赛任务书 网络空间安全赛项规程 一、赛项名称 赛项名称:网络空间安全 赛项组别:中职组 二、竞赛目的 通过竞赛,检验参赛选手对网络、服务器系统等网络空间中各个信息系统的安全防护能力&#xff0…

Python学了基本语法 下一步该干什么 ?

刚入门Python,学习了基本语法后,你可以开始编写简单的程序了。接下来,你可以学习Python的标准库和第三方库,掌握更多的编程技巧和知识,提高自己的编程能力。同时,也可以通过实践项目来巩固所学知识,提高自己…

接口测试和功能测试的区别

目录 前言: 一、测试目的不同 二、测试内容不同 三、测试重点不同 四、总结 前言: 接口测试和功能测试是软件测试中的两种不同类型。接口测试侧重于测试不同模块之间的接口,而功能测试则注重测试完整的业务功能。 一、测试目的不同 接…

【实战】minigpt4的体验和微调

MiniGPT-4 https://github.com/vision-cair/minigpt-4 1 环境配置 1.1 安装环境 git lfs install //如果报错 :git: lfs is not a git command. See git --help. //尝试使用: sudo apt-get install git-lfs git lfs install1.2 准备Vicuna权重 &…

专访泛境科技:如何借助3DCAT实时云渲染打造元宇宙解决方案

随着5G、VR/AR等技术的发展,元宇宙(Metaverse)这一概念越来越受到关注。元宇宙是一个由虚拟世界构成的网络空间,其中人们可以通过数字化的身份和形象进行各种社交、娱乐、创作和商业活动。元宇宙的核心是虚拟场景,它是…

高考答题卡怎么被机器识别?基于OpenCV答题卡识别模拟-米尔ARM+FPGA异构开发板

本篇测评由优秀测评者“筑梦者与梦同行”提供。 01. 前言MYD-JX8MMA7SDK发布说明 根据下图文件内容可以知道myir-image-full系统支持的功能,其支持OpenCV,也就不用在格外安装相关驱动包等,省了很多事情。 02. MYD-JX8MMA7软件评估指南 本文…

【C语言复习】第一篇、关于我的C语言的复习路线

目录 第一部分、前言 第二部分、学习视频 第三部分、我的建议 第一部分、前言 首先想谈一下为啥都读研究生的我还在学习C语言😂,说起来我认为挺搞笑的,一句话解释就是:本科上课的时候,耳朵打苍蝇去,哈哈。…

solr快速上手:常用查询语法(八)

0. 引言 solr作为搜索引擎,就像我们使用mysql一样,在日常业务中,更多接触的则是各类操作语法,所以今天,我们再来学习solr的常用查询语法,为大家在工作中最基本的solr查询打下基础。 solr快速上手&#xff…

NLP学习笔记六-lstm模型

NLP学习笔记六-lstm模型 上一篇我们讲的是simple RNN模型,那么其实lstm模型更像是simple RNN模型的改进或者变种。 对于lstm模型,先看一下总的网络结构图: 我们再看下面一张图: 其实lstm模型的思想是建立在simple RNN模型上的…

【SpringBoot】整合Elasticsearch 快速入门操作索引

官网操作文档:Elasticsearch Clients | Elastic 踩坑太多了。。。这里表明一下Spring Boot2.4以上版本可能会出现问题,所以我降到了2.2.1.RELEASE。对于现在2023年6月而言,Es版本已经到了8.8,而SpringBoot版本已经到了3.x版…

Vue配置proxy代理,但接口报错2007 bad domain

1、排查proxy代理配置是否有误 排查 proxyTable 对象中配置的 target 是否正确。若正确,那可能就是请求头的问题。 无特殊配置的情况下,请求头是这样子的: Host 和 Referer 是本地地址,如果后端增加 CSRF 防御机制,…

to be delete

一、grafana版本升级 1.1 还是先跟着官网简单走一波 建议经常升级Grafana,以获取最新的修补程序和增强功能。 为了实现这一点,Grafana升级向后兼容,并且升级过程简单快捷。升级通常是安全的(在许多次要版本和一个主要版本之间&a…

使用JSAPl来做一个倒计时的效果

今天的小案例需要做一个倒计时的效果 我们的时分秒需要一直进行倒计时&#xff0c;然后我们的页面颜色需要根据定时器的操作来进行更换&#xff0c;首先我们还是可以来分析一下我们的HTML步骤 <div class"countdown"><p class"next">今天是22…

线程的创建和使用(一)

1、线程 1.1、线程的概念 一个线程就是一个 "执行流". 每个线程之间都可以按照顺讯执行自己的代码. 多个线程之间 "同时" 执行着多份代码. 1.2、创建线程 方法一&#xff1a;继承Thread类 public class Exe_01 {public static void main(String[] args…

[论文阅读笔记76]GPT Understands, Too(P-tuning)

1. 基本信息 题目论文作者与单位来源年份GPT Understands, Too清华大学 Citations, References 论文链接&#xff1a;https://arxiv.org/pdf/2103.10385.pdf 论文代码&#xff1a; 2. 要点 研究主题问题背景核心方法流程亮点数据集结论论文类型关键字微调大模型采用传统微…

什么是HMI和SCADA?两者有什么区别

前言 几十年来&#xff0c;工业控制系统在工业自动化中发挥了重要作用&#xff0c;它允许过程制造商从生产车间采集、分析、处理数据。 在当今瞬息万变的工业环境中&#xff0c;制造商和公用事业公司必须采用现代HMI/SCADA和数字化转型&#xff0c;以跟上变化的步伐&#xff0…

Unity制作二次元卡通渲染角色材质——5、脸部的特殊处理

Unity制作二次元材质角色 回到目录 大家好&#xff0c;我是阿赵。 这里继续讲二次元角色材质的制作。这次是讲头部的做法。 1、脸部 之前在分析资源的时候&#xff0c;其实已经发现了这个模型的脸部法线有问题&#xff0c;导致在做光照模型的时候&#xff0c;脸部很奇怪。 把f…

NLP:词义分布的空间维度——从文本符号到词向量表征

自然语言处理的前提是文本表示&#xff08;Representation&#xff09;&#xff0c;即如何将人类符号化的文本转换成 计算机所能“理解”的表征形式。早期的自然语言表征主要采用离散表示。近年来&#xff0c;随着深度 学习的不断发展&#xff0c;基于神经网络的分布式词向量技…