学习进度 10

news/2026/1/26 19:11:31/文章来源:https://www.cnblogs.com/lzq233/p/19535222

DataFrame 进阶操作与 WordCount 重构
一、DataFrame 核心进阶操作实操
先拿 “姓名、年龄、城市、薪资” 的 CSV 数据练手,把常用操作过了一遍:
聚合统计:用groupBy("城市").agg(count("*").alias("人数"), avg("薪资").alias("平均薪资"))统计各城市人数和平均薪资,不用像 RDD 那样手动写reduceByKey,函数名直观,还能直接给结果列起别名;
多表关联:新建了一张 “城市 - 省份” 的小表,用df1.join(df2, df1("城市") == df2("城市"), "left")做左关联,和 SQL 的 join 逻辑完全一致,新手不用额外记语法;
排序与去重:df.orderBy(df("薪资").desc()).dropDuplicates(["城市"])按薪资降序排列,再按城市去重,一行代码搞定,比 RDD 的sortBy+distinct组合简洁太多。
试下来发现,DataFrame 的函数封装得特别全,基本的业务统计需求不用手写底层逻辑,效率提升不少。
二、用 DataFrame 重构 WordCount
核心目标是把 RDD 版的 WordCount 改成 DataFrame 版,步骤比想象中简单:
读取文本文件:val df = spark.read.text("file:///D:/Spark/words.txt"),先把文本读成只有一列(value)的 DataFrame;
分词处理:用split函数拆分单词,再用explode扁平化,val wordDF = df.select(explode(split(col("value"), " ")).alias("word")),这一步替代了 RDD 的flatMap;
过滤空值 + 统计:wordDF.filter(col("word").nonEmpty).groupBy("word").count().orderBy(col("count").desc()),过滤空单词后按单词分组计数,再降序排列。
整个过程没写一行map/flatMap,全靠 DataFrame 的内置函数,代码行数少了一半,可读性也高。跑出来的结果和 RDD 版一致,但写代码的速度快了很多,就是第一次用explode函数时卡了下,查了文档才知道它能把数组拆成多行。
三、今日总结
今天的核心收获是掌握了 DataFrame 的进阶操作,能用它完成常见的结构化数据处理,还重构了经典案例,验证了 DataFrame 的便捷性。

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

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

相关文章

基于 GEE 的 MODIS 昼夜地表温度数据可视化与导出全流程解决方案 - 教程

基于 GEE 的 MODIS 昼夜地表温度数据可视化与导出全流程解决方案 - 教程pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: …

Sealos 私有化部署,15 分钟搞定内网 K8s 云平台

昨天帮一个传统制造业的朋友在他们工厂内网部署了一套 Sealos,整个过程确实快得离谱。但让我真正兴奋的不是这 15 分钟本身,而是我开始想象:当这种"傻瓜式"私有云部署变成常态,未来会发生什么? 企业 IT…

东美阿胶是正规公司吗?

在当今注重健康养生的时代,阿胶作为传统滋补佳品备受关注。然而,市场上阿胶品牌众多,消费者在选择时往往会心存疑虑,“东美阿胶是正规公司吗”成为了不少人的疑问。今天,就让我们一起深入了解东美阿胶,探寻它的正…

一键关闭系统所有LED灯:基于AI助手协作的完整排查与实现

我正在使用一款深度集成人工智能的SSH客户端工具WisdomSSH,远程管理一台Debian 12系统。在操作过程中,我发现系统上的多个指示灯(包括绿色心跳灯)持续亮起,影响了设备静音环境下的使用体验。我需要彻底关闭所有系统级的…

东美阿胶

在大健康市场蓬勃发展的今天,阿胶作为传统滋补佳品,受到了越来越多人的青睐。然而,市场上阿胶产品众多,品质参差不齐,消费者往往难以抉择。今天,就为大家介绍一家值得信赖的阿胶品牌——东美阿胶。千年传承,铸就…

如何为RTL8211F网卡配置rgmii-id模式并优化tx/rx delay

我遇到了一个网络配置问题,需要将RTL8211F网卡的工作模式从rgmii改为rgmii-id,并调整tx/rx delay参数。这个问题困扰了我一段时间,直到我使用WisdomSSH的AI助手进行协作排查。 问题发现与初步分析 我首先确认了当前的网络接口状态&#xff…

东美阿胶和东阿阿胶什么关系?

在大健康市场中,阿胶产品一直备受消费者青睐。其中,东美阿胶和东阿阿胶这两个名字常常被提及,它们之间到底是什么关系呢?今天,就让我们深入了解一下。各自背景与起源东美阿胶:传承与创新的结晶东阿东美阿胶有限公…

矿井污水处理设备推荐生产厂家:从技术、案例看谁更靠谱

在矿井开采过程中,会产生含有大量悬浮物(如煤粉、岩粉)、重金属离子(如铁、锰)、有机物及高盐分的特殊废水。这类废水若未经妥善处理直接排放,将对土壤、水体等生态环境造成严重破坏。矿井污水处理设备通过整合物…

实验室LIMS系统选型全攻略:从合规到效能的深度解析

在工业4.0与智能制造深度融合的今天,实验室作为质量控制核心环节,其数字化转型已成为企业降本增效的关键抓手。中国实验室设备管理协会2024年报告显示,传统人工管理模式下实验室设备闲置率高达30%,数据差错率超3%,而部…

springmvc 全局异常处理 and 拦截器

文章目录配置类 SpringMvcInit配置类 MvcConfig全局异常处理器User实体类 (参数校验)UserController拦截器 MyInterceptor拦截器 MyInterceptor1配置类 SpringMvcInit package com.cool.config;import org.springframework.web.servlet.support.AbstractAnnotationConfigDispa…

【Linux 驱动开发】六. 中断和阻塞/非阻塞IO的实现

中断和阻塞/非阻塞IO的实现 1. 中断1.1 概念1.1.1 中断源的概念 1.2 设备树中描述中断信息1.3 中断实例---以按键为例1.3.1 在设备树中添加结点1.3.2 驱动实现 1.4 使用gpio子系统实现中断处理1.4.1 旧的gpio方式1.4.2 新的gpio方式 2. 阻塞IO和非阻塞IO的实现2.1 阻塞IO的实现…

基于spring+vue的校园勤工俭学平台[spring]-计算机毕业设计源码+LW文档

摘要:校园勤工俭学作为学生参与社会实践、提升自身能力的重要途径,在高校中广泛开展。为了提高校园勤工俭学管理的效率和透明度,本文设计并实现了基于SpringVue的校园勤工俭学平台。该平台利用Spring框架构建稳定可靠的后端服务,采…

基于SpringBoot的社区医疗服务管理小程序的设计与开发(源码+lw+部署文档+讲解等)

课题介绍 本课题旨在设计并开发一套基于SpringBoot框架与微信小程序的社区医疗服务管理系统,破解社区居民就医挂号繁琐、健康咨询不便、医疗资源对接不及时、健康档案分散等痛点,搭建高效便捷的移动端社区医疗服务平台。系统采用前后端分离架构&#xff…

计算机毕业设计springboot飞机票预定系统 基于SpringBoot的航班在线预订平台 SpringBoot驱动的民航电子客票销售系统

计算机毕业设计springboot飞机票预定系统(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。春运、暑运、黄金周,机票查询量瞬间爆炸,电话占线、窗口排队、代…

基于SpringBoot的扶贫助农系统及其小程序的实现(源码+lw+部署文档+讲解等)

课题介绍 本课题旨在开发一套基于SpringBoot框架与微信小程序的扶贫助农系统,破解传统农产品流通不畅、产销对接断层、扶贫数据难追踪等痛点,搭建农户与消费者直接对接的数字化桥梁。系统采用前后端分离架构,后端以SpringBoot为核心&#xff…

计算机毕业设计springboot飞羽羽毛球俱乐部管理系统 基于SpringBoot的羽球馆综合运营平台 SpringBoot驱动的羽毛球会所活动与场地预约系统

计算机毕业设计springboot飞羽羽毛球俱乐部管理系统(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。羽毛球馆每天高峰期都要接几十通电话预约场地,纸质登记本翻来翻去…

基于SpringBoot的健康管理微信小程序的设计与实现(源码+lw+部署文档+讲解等)

课题介绍 本课题旨在设计并实现一套基于SpringBoot框架与微信小程序的健康管理系统,破解个人健康数据零散、健康服务触达不便、个性化管理缺失等痛点,搭建便捷高效的移动端健康管理平台。系统采用前后端分离架构,后端以SpringBoot为核心&…

基于SpringBoot的旅游线路定制微信小程序(源码+lw+部署文档+讲解等)

课题介绍 本课题旨在设计并实现一套基于SpringBoot框架与微信小程序的旅游线路定制系统,破解传统旅游线路同质化严重、个性化需求难满足、行程规划繁琐等痛点,搭建高效便捷的移动端旅游服务平台。系统采用前后端分离架构,后端以SpringBoot为核…

计算机毕业设计springboot飞机票订票管理系统 基于SpringBoot的航空客运票务管理平台 SpringBoot驱动的在线航班预订与订单管理系统

计算机毕业设计springboot飞机票订票管理系统(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 航空出行已成为大众首选,但传统人工售票、电话占线、信息滞后等痛点依…

2026最新益气健脾滋补品/益气健脾保健品/益气健脾口服液企业推荐复方红衣补血口服液:传承创新,这家老字号实力引领

在现代快节奏生活中,人们对健康的重视程度日益提升,益气健脾类产品成为众多人群调养身体的重要选择。2026年,翔宇药业股份有限公司(简称“翔宇药业”)凭借其旗下核心产品复方红衣补血口服液,在益气健脾滋补品、保…