当前位置: 首页 > news >正文

Spark-SQL核心编程(二)

  • Spark-SQL 开发:

借助 IDEA 开发 Spark-SQL,创建子模块并添加org.apache.spark:spark-sql_2.12:3.0.0依赖。创建SparkConf(设置运行模式和应用名)和SparkSessio(作为 Spark 入口,可读取数据、执行 SQL 查询)配置上下文环境。

RDD、DataFrame、DataSet 转换:三者可相互转换。RDD 可通过toDF转为DataFrame,指定字段名;DataFrame用as转为DataSet,需有对应的样例类。反向转换时,DataSet用toDF转回DataFrame,DataFrame通过rdd获取 RDD,转换过程能发挥不同数据结构优势。

自定义函数

运行代码:

运行结果如下:

  • UDF(用户自定义函数):

可注册自定义函数处理数据。在 Spark 环境中,注册函数如addName后,可在 SQL 查询中调用,对指定字段按自定义逻辑处理。

  • UDAF(用户自定义聚合函数):

用于数据聚合计算,有多种实现方式(RDD与强弱UDAF)。RDD 方式通过映射和规约操作计算;弱类型 UDAF 继承UserDefinedAggregateFunction,自定义输入、缓冲区和返回值的 Schema 及相关操作方法;强类型 UDAF 继承Aggregator,利用样例类和类型系统,实现更简洁安全 。

实验需求:计算平均工资

  1. 实现方式一:RDD

  1. 实现方式二:弱类型UDAF

代码:

运行结果:

http://www.dtcms.com/a/134626.html

相关文章:

  • HL7消息编辑器的使用手册
  • 案例 - 登录认证:保障系统安全访问的实现
  • 登录校验:保障系统安全访问的关键技术解析
  • 成员访问运算符重载(详解)
  • 【双指针】专题:LeetCode 202题解——快乐数
  • v3 自定义导航头部
  • OpenCV学习之获取图像所有点的坐标位置(二)
  • 从图像“看出动作”
  • Redis集群部署三主三从(docker-compose方式)
  • 2025.04.15【Connection】| 生信数据可视化:连接图绘制指南
  • 跨域(CORS)的几种方式
  • 双重路由引入的环路,选路次优的产生以及解决方法
  • 2025最新版flink2.0.0安装教程(保姆级)
  • 层次式架构核心:中间层的功能、优势与技术选型全解析
  • Oracle中用户密码过期修改为不限制
  • Linux系统-scp命令--两台服务器之间传输文件
  • 利用纯JS开发浏览器小窗口移动广告小功能
  • 通过微信APPID获取小程序名称
  • Spring 框架知识整理
  • K8S_ResourceQuota与LimitRange的作用
  • Materials Studio学习笔记(一)——Materials Studio软件介绍
  • Flutter学习 滚动组件(1):ListView基本使用
  • 【差分隐私相关概念】瑞丽差分隐私(RDP)命题4
  • 宝塔面板中解锁Laravel日志查看的奥秘
  • pull.rebase 三种模式的应用场景
  • java的类加载器及其双亲委派机制
  • 解决docker安装OpenWebUI 报错 500
  • Node.js 数据库 CRUD 项目示例
  • uni-app/微信小程序接入腾讯位置服务地图选点插件
  • STM32F407实现SD卡的读写功能