Spark中使用RDD算子GroupBy做词频统计的方法
测试文件及环境
测试文件在本地D://tmp/spark.txt,Spark采用Local模式运行,Spark版本3.2.0,Scala版本2.12,集成idea开发环境。
hello
world
java
world
java
java
实验代码
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}object GroupBy {def main(args: Array[String]): Unit = {// 创建Spark执行环境val sparkConf: SparkConf =new SparkConf().setMaster("local").setAppName("GroupBy")// 新建会话val sc = new SparkContext(sparkConf)// 读取本地文件到RDDval rdd: RDD[String] = sc.textFile("D://tmp/spark.txt")// 对rdd做map映射,返回(hello,1)...val rdd2: RDD[(String, Int)] = rdd.map(v => {val arr: Array[String] = v.split("\t")(arr(0), 1)})// 打印map映射结果rdd2.foreach(v=>println(v))// 对rdd2进行groupBy操作val rdd3: RDD[(String, Iterable[(String, Int)])] = rdd2.groupBy(v => v._1)// 遍历打印最终结果rdd3.map(v => (v._1, v._2.size)).foreach(v => println(v))//结束Spark会话sc.stop()}
}
实验结果
打印map映射结果
(hello,1)
(world,1)
(java,1)
(world,1)
(java,1)
(java,1)
(hello,1)
(java,3)
(world,2)
相关文章:
Spark中使用RDD算子GroupBy做词频统计的方法
测试文件及环境 测试文件在本地D://tmp/spark.txt,Spark采用Local模式运行,Spark版本3.2.0,Scala版本2.12,集成idea开发环境。 hello world java world java java实验代码 import org.apache.spark.rdd.RDD import org.apache.…...
如何使用Kafka构建事件驱动的架构
事件驱动的架构(EDA)是一种软件设计模式,它关注事件的生成、检测和使用,以支持高效和可扩展的系统。在EDA中,事件是组件之间通信的主要手段,允许它们实时交互和响应更改。这种架构促进了松散耦合、可扩展性和响应性,使…...
ES6 解构赋值
解构赋值 解构赋值是一种在编程中常见且方便的语法特性,它可以让你从数组或对象中快速提取数据,并将数据赋值给变量。在许多编程语言中都有类似的特性。 在 JavaScript 中,解构赋值使得从数组或对象中提取数据变得简单。它可以用于数组和对…...
HTML5注册页面
分析 注册界面实际上是一个表格(对齐),一行有两个单元格。 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevic…...
python中的JSON模块详解
简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写 同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互 网址 官方文档 json — JSON encoder and dec…...
Syncfusion Essential Edit for WPF Crack
Syncfusion Essential Edit for WPF Crack 在任何WPF应用程序中启用语法高亮显示。 Syncfusion Essential Edit for WPF是一款具有所有基本功能的编辑器,如文本编辑、剪切、复制和粘贴。它允许用户从各种文件格式打开文件并将其保存为各种文件格式。Syncfusion Esse…...
机器学习深度学习——卷积神经网络(LeNet)
👨🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习&&深度学习——池化层 📚订阅专栏:机器学习&&深度学习 希望文章对你们有所帮助 卷积神…...
Pytorch Tutorial【Chapter 2. Autograd】
Pytorch Tutorial 文章目录 Pytorch TutorialChapter 2. Autograd1. Review Matrix Calculus1.1 Definition向量对向量求导1.2 Definition标量对向量求导1.3 Definition标量对矩阵求导 2.关于autograd的说明3. grad的计算3.1 Manual手动计算3.2 backward()自动计算 Reference C…...
Python第三方库国内镜像下载地址
Python第三方库国内镜像下载地址 一、清华大学二、中国科技大学三、安装方法 一、清华大学 https://pypi.tuna.tsinghua.edu.cn/simple 二、中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple 三、安装方法 例如 pyhook3 插件的安装方法,执行下面命令安装…...
从浏览器输入url到页面加载(七)服务端机器一般部署在哪里
前言 上一节,我们说到了CDN和路由器的关系,说到了公有地址,说到了通信线路服务,这一节跳过那些看不懂的深层知识,直接开始说web服务器。 1. 服务端机器为什么不部署在公司内部 记得在之前的一段时间里,公…...
Pytorch深度学习-----神经网络之Sequential的详细使用及实战详解
系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用(ToTensor,Normalize,Resize ,Co…...
安全基础 --- https详解 + 数组(js)
CIA三属性:完整性(Confidentiality)、保密性(Integrity)、可用性(Availability),也称信息安全三要素。 https 核心技术:用非对称加密传输对称加密的密钥,然后…...
vue加载大量数据优化
在Vue中加载大量数据并形成列表时,可以通过以下方法来优化性能: 分页加载:不要一次性加载所有的数据,而是分批加载数据,每次只加载当前页需要显示的数据量。可以使用第三方库如vue-infinite-loading来实现无限滚动加载…...
WebRTC 之音视频同步
在网络视频会议中, 我们常会遇到音视频不同步的问题, 我们有一个专有名词 lip-sync 唇同步来描述这类问题,当我们看到人的嘴唇动作与听到的声音对不上的时候,不同步的问题就出现了 而在线会议中, 听见清晰的声音是优先…...
kubernetes基于helm部署gitlab-runner
kubernetes基于helm部署gitlab-runner 这篇博文介绍如何在 Kubernetes 中使用helm部署 GitLab-runner。 先决条件: 已运行的 Kubernetes 集群已运行的 gitlab 实例 项目地址:https://gitlab.com/gitlab-org/charts/gitlab-runner 官方文档ÿ…...
深度学习和OpenCV的对象检测(MobileNet SSD图像识别)
基于深度学习的对象检测时,我们主要分享以下三种主要的对象检测方法: Faster R-CNN(后期会来学习分享)你只看一次(YOLO,最新版本YOLO3,后期我们会分享)单发探测器(SSD,本节介绍,若你的电脑配置比较低,此方法比较适合R-CNN是使用深度学习进行物体检测的训练模型; 然而,…...
Gitlab CI/CD笔记-第一天-GitOps和以前的和jenkins的集成的区别
一、GitOps-CI/CD的流程图与Jenkins的流程图 从上图可以看到: GitOps与基于Jennkins技术栈的CI/CD流程,无法从Jenkins集成其他第三方开源的项目来实现换成了Gitlab来进行集成。 好处在于:CI 一个工具Gitlab就行了,但CD部分依旧是…...
有关OpenBSD, NetBSD, FreeBSD -- 与GPT对话
1 介绍一下 - OpenBSD, NetBSD, FreeBSD 当谈论操作系统时,OpenBSD、NetBSD和FreeBSD都是基于BSD(Berkeley Software Distribution)的操作系统,它们各自是独立开发的,并在BSD许可下发布。这些操作系统有很多共同点,但也有一些差异。以下是对它们的简要介绍: OpenBSD: O…...
RabbitMQ 备份交换机和死信交换机
为处理生产者生产者将消息推送到交换机中,交换机按照消息中的路由键即自身策略无法将消息投递到指定队列中造成消息丢失的问题,可以使用备份交换机。 为处理在消息队列中到达TTL的过期消息,可采用死信交换机进行消息转存。 通过上述描述可知&…...
Linux 中利用设备树学习Ⅳ
系列文章目录 第一章 Linux 中内核与驱动程序 第二章 Linux 设备驱动编写 (misc) 第三章 Linux 设备驱动编写及设备节点自动生成 (cdev) 第四章 Linux 平台总线platform与设备树 第五章 Linux 设备树中pinctrl与gpio(…...
别再死记公式!一个Buck电路实例带你吃透‘小信号建模’到底在干什么
从Buck电路实战理解小信号建模:为什么工程师需要这个"数学翻译器"? 第一次接触小信号建模时,我和大多数电力电子初学者一样困惑——明明电路已经能用状态方程描述,为什么还要大费周章地推导那些看似复杂的传递函数&…...
MRIcroGL:3步掌握开源医学影像3D可视化工具,让诊断更直观
MRIcroGL:3步掌握开源医学影像3D可视化工具,让诊断更直观 【免费下载链接】MRIcroGL v1.2 GLSL volume rendering. Able to view NIfTI, DICOM, MGH, MHD, NRRD, AFNI format images. 项目地址: https://gitcode.com/gh_mirrors/mr/MRIcroGL 想要…...
璀璨星河效果展示:古典结构×现代张力的Z-Image原生艺术生成
璀璨星河效果展示:古典结构现代张力的Z-Image原生艺术生成 “我梦见了画,然后画下了梦。” —— 文森特 梵高 今天,我想带你走进一个特别的数字艺术馆。在这里,冰冷的代码逻辑与炽热的艺术灵魂相遇,古典的审美结构与现…...
OpenClaw技能组合实战:Phi-3-vision-128k实现完整会议纪要自动化
OpenClaw技能组合实战:Phi-3-vision-128k实现完整会议纪要自动化 1. 为什么需要会议纪要自动化 作为经常参加跨时区会议的开发者,我长期被会议纪要整理工作困扰。传统流程需要手动录音转文字、整理白板照片、提取行动项,最后还要同步到日历…...
iOS 开发进阶,用 SniffMaster 实现 iPhone 抓包深度分析
在 iOS 开发中,抓到请求只是第一步,更实际其实是比如 想确认某个字段到底有没有发出去想复现线上问题想观察 App 在异常网络下的行为 这时候抓包就不只看有没有数据,而是抓出来的数据是否完整、是否可控、是否可复现场景一:接口参…...
Ostrakon-VL终端部署案例:单卡3090实现12路摄像头并发扫描
Ostrakon-VL终端部署案例:单卡3090实现12路摄像头并发扫描 1. 项目背景与核心价值 在零售与餐饮行业,传统的图像识别系统往往面临两个痛点:一是工业级UI操作复杂,员工培训成本高;二是多路摄像头并发处理需要昂贵的高…...
【ESP32-S3】通过ROS2使用YDLIDAR X2进行SLAM、自主导航方案选择
通过ROS2使用YDLIDAR X2进行SLAM、自主导航方案选择背景一、方案总览(两种主流实现)方案A:纯透传(最简,推荐入门)方案B:Micro-ROS(标准ROS 2架构,适合完整导航࿰…...
Chrome 安全机制深度解析(二)告别 unsafe-inline:CSP 进阶实战与攻防博弈,构建真正无法绕过的内容防线
配置了 CSP 依然被 XSS 打穿,问题往往不在攻击有多高明,而在于你始终舍不得删掉那两个词:unsafe-inline、unsafe-eval。真正的强安全 CSP,从来不是妥协的产物,而是一套从策略设计到工程落地的完整体系。上一篇我们讲到…...
Claude 源码泄露事件深度分析:一场“打包错误“引发的行业地震
卷卷 | 2026年4月1日一句话结论一周之内,Anthropic 连续两次泄露:先是有近 3,000 份内部文件(含未发布模型 Claude Mythos 的详细信息)被公开暴露;后是 Claude Code v2.1.88 的 npm 包中意外包含了完整源码的 source m…...
Pixel Aurora Engine应用场景:独立开发者低成本构建像素IP资产库
Pixel Aurora Engine应用场景:独立开发者低成本构建像素IP资产库 1. 像素艺术创作新纪元 在游戏开发领域,像素艺术始终保持着独特的魅力。从早期的《超级马里奥》到现代的《星露谷物语》,像素风格游戏凭借其怀旧感和艺术表现力,…...
