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

【博学谷学习记录】超强总结,用心分享|狂野大数据课程【DataFrame的相关API】的总结分析

操作dataFrame一般有二种操作的方式, 一种为SQL方式, 另一种为DSL方式

SQL方式: 通过编写SQL语句完成统计分析操作DSL方式: 领域特定语言  指的通过DF的特有API完成计算操作(通过代码形式)从使用角度来说: SQL可能更加的方便一些,  当适应了DSL写法后, 你会发现DSL要比SQL更加好用(类似于面向过程编程)Spark的官方角度: 推荐采用DSL方案

关于DSL相关的API:

  • show(参数1,参数2): 用于展示DF中的数据, 默认仅展示前20行

    • 参数1: 设置默认展示多少行, 默认值为20

    • 参数2: 是否为阶段列, 默认只输出20个字符的长度, 过长不显示, 要现实的话, 请填入: truncate=True

    • 一般这两个参数很少会设置

  • printSchema(): 用于打印当前这个DF的表结构信息

  • select(): 类似于SQL语句中select, SQL中select后面可以写啥, 这里也同样可以实现

  • filter/where: 用于对数据进行过滤操作, 一般在Spark SQL中主要使用where

  • groupBy() 用于执行分组

  • orderBy() 用于执行排序

  • …….

注意:Spark SQL的DSL API 都是非常简单的, 基本都与SQL的关键词保持一致, 一般大家认为DSL比较难的地方: 不知道如何传递参数,因为DSL API的参数变化多样, 每个函数支持的参数方式也不一样DSL主要支持以下几种传递的方式: 列表 | str | columnstr格式:  '字段'column: df对象中包含的字段:  df['字段']执行过程新产生字段:  F.col('字段')列表: ['字段1','字段2','字段3'...][column1,column2,column3...]如何识别函数支持哪几种传递方式呢?

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

为了能够支持在编写DSL方案的时候, 支持在DSL中使用SQL函数, 专门提供了一个SQL函数库,直接加载使用即可

导入这个SQL函数库:import pyspark.sql.functions as F后续, 通过F 调用对应的函数即可,  而且Spark SQL所支持的函数, 都可以通过以下地址查询到:
https://spark.apache.org/docs/3.1.2/api/sql/index.html

关于SQL的操作方式:

  • 如何创建一个表(视图):
df.createTempView('视图名称') # 创建一个临时的视图(表名)   常用
df.createOrReplaceTempView('视图名称') # 创建一个临时视图, 如果视图存在, 直接替换
df.createGlobalTempView('视图名称') # 注册一个全局视图, 运行在一个Spark应用中多个spark会话都是可以使用的, 在使用全局的视频的时候, 必须添加:  global_temp.视图名称  才可以加载到临时会话, 仅在当前这个spark session会话中使用上述的创建视图的方式也可以通过SQL形式来创建:create [template] view 视图名称 .....create or replace [template] view 视图名称 ....
  • 如何书写SQL语句:
spark.sql('sql语句')

相关文章:

【博学谷学习记录】超强总结,用心分享|狂野大数据课程【DataFrame的相关API】的总结分析

操作dataFrame一般有二种操作的方式, 一种为SQL方式, 另一种为DSL方式 SQL方式: 通过编写SQL语句完成统计分析操作DSL方式: 领域特定语言 指的通过DF的特有API完成计算操作(通过代码形式)从使用角度来说: SQL可能更加的方便一些, 当适应了DSL写法后, 你会发现DSL要比SQL更加…...

粒子群优化最小二乘支持向量机SVM回归分析,pso-lssvm回归预测

目录 支持向量机SVM的详细原理 SVM的定义 SVM理论 SVM应用实例,粒子群优化最小二乘支持向量机SVM回归分析 代码 结果分析 展望 支持向量机SVM的详细原理 SVM的定义 支持向量机(support vector machines, SVM)是一种二分类模型,它的基本模型是定义在特征空间上的间隔最大…...

lavis多模态开源框架学习--安装

安装lavis安装lavis测试安装问题过程中的其他操作安装lavis 因为lavis已经发布在pypi中,所以可以直接利用pip安装 pip install salesforce-lavis测试安装 from lavis.models import model_zoo print(model_zoo) # # Architectures Types # # …...

【IDEA】如何在Tomcat上创建部署第一个Web项目?

看了网上很多教程,发现或多或都缺失了一些关键步骤信息,对于新手小白很不友好,那么今天就教大家如何在Tomcat服务器(本地)上部署我们的第一个Web项目: 共分为三个部分: 1. IDEA创建Web项目&am…...

程序员画流程图的工具Draw.io

Draw.io 是一个很好用的免费流程图绘制工具,制图结果本质上是xml文件,web版和桌面版可以支持导出图像(png或者svg矢量图都可以)。你可以利用它绘制一系列的图表、图示或图形,包括流程图、UML类图、组织结构图、泳道图、E-R 图、文…...

CAPL脚本DBLookup函数动态访问CAN 报文的属性

🍅 我是蚂蚁小兵,专注于车载诊断领域,尤其擅长于对CANoe工具的使用🍅 寻找组织 ,答疑解惑,摸鱼聊天,博客源码,点击加入👉【相亲相爱一家人】🍅 玩转CANoe&…...

2022年显卡性能跑分排名表

2022年显卡性能跑分排名表(数据来源于快科技)这个版本的电脑显卡跑分榜第一的是NVIDIA GeForce RTX 3090 Ti显卡。由于显卡跑分受不同的测试环境、不同的显卡驱动版本以及不同散热设计而有所不同,所以显卡跑分会一直变化。 前二十名的台式电…...

mx-font

Abstract 短镜头字体生成(FFG)方法必须满足两个目标:生成的图像既要保留目标字符的底层全局结构,又要呈现多样化的局部参考风格。现有的FFG方法旨在通过提取通用表示样式或提取多个组件样式表示来分离内容和样式。然而,以往的方法要么无法捕捉不同的本地风格,要么无法推广到…...

基于S32K148快速调试TJA1101

文章目录1.前言2.TJA1101简介3.TJA1101调试3.1 硬件3.1.1 整体框图3.1.2 评估板3.1.2.1 参考原理图3.1.2.2 引脚说明3.1.3 转接板3.1.3.1 参考原理图3.1.3.2 模式配置3.1.3.3 原理介绍3.2 软件3.2.1 物理层(TJA1101):3.2.2 数据链路层&#x…...

万字长文详解webpack知识图谱

webpack概念 概念 Webpack 是一种用于构建 JavaScript 应用程序的静态模块打包器,它能够以一种相对一致且开放的处理方式,加载应用中的所有资源文件(图片、CSS、视频、字体文件等),并将其合并打包成浏览器兼容的 Web…...

模板测试(Stencil Test)

模板测试可以用来针对特殊的区域进行渲染控制,实现有趣的效果,例如绘制物体轮廓。在 使用模板测试的时候,一般的步骤如下: 启用模板测试,以便写入数值到模板缓冲中渲染物体,根据渲染的物体将特定的数值写入到模板缓冲中禁用模板缓冲写入设置模板函数,根据于模板缓冲中的…...

【Go语言学习】安装与配置

文章目录前言一、Go语言学习站二、安装与配置1.安装2.环境变量配置3.Gland编辑器安装与配置Hello, World!总结前言 Go语言特性 Go,又称为 Golang,是一门开源的编程语言,由 Google 开发。Go 语言的设计目标是提供一种简单、快速、高效、安全…...

HCIP-5OSPF区域类型学习笔记

1、OSPF区域类型 OSPF提出了区域的概念(AREA),区域是将所有运行OSPF 的路由器人为的分成不同的组,以区域ID来标示。在区域内路由计算的方法不变,由于划分区域之后,每个区域内的路由器不会很多,…...

C语言再学习第三章

例题3-1 编写一个函数&#xff0c;实现华氏度和摄氏度的转化。 已知公式&#xff1a;c &#xff08;5/9)*(f-32) #include <stdio.h>double f_value 0; double c_value 0; int main(void) {printf("请输入华氏温度\n");scanf("%lf",&f_valu…...

【aiy篇】小目标检测综述

小目标检测&#xff08;Small Object Detection&#xff09;是指在图像中检测尺寸较小的目标物体&#xff0c;通常是指物体的尺寸小于图像大小的1/10或者更小&#xff0c;COCO为例&#xff0c;面积小于等于1024像素的对象维下目标。小目标检测是计算机视觉领域的一个重要研究方…...

常用Linux命令的基本使用

序号 命令 对应英文 作用 1 ls list 查看当前文件夹下的内容 2 pwd print work directory 查看当前所在文件夹 3 cd[目录名] changge directory 切换文件夹 4 touch[文件名] touch 如果文件不存在&#xff0c;新建文件 5 mkdir[目录名] make directory …...

对跳表的深入理解

一&#xff0c;如何理解跳表 简单说跳表&#xff08;Skip list&#xff09;就是链表的“二分查找”。redis 的有序集合用的就是跳表算法。跳表是一种各方面性能都比较优秀的动态数据结构&#xff0c;可以支持快速地插入、删除、查找操作&#xff0c;写起来也不复杂&#xff0c…...

C++017-C++冒泡排序与插入排序

文章目录C017-C冒泡排序与插入排序冒泡排序与插入排序目标冒泡排序排序规则冒泡排序优化插入排序题目描述在线练习&#xff1a;总结C017-C冒泡排序与插入排序 在线练习&#xff1a; http://noi.openjudge.cn/ https://www.luogu.com.cn/ 冒泡排序与插入排序 参考&#xff1a;…...

数据结构基础之链表

目录 前言 1、什么是链表 2、添加元素 3、虚拟头结点 4、查询&修改元素 5、删除元素 附&#xff1a;完整代码 前言 又到周末了&#xff0c;修整了一天&#xff0c;继续来写点东西吧&#xff0c;今天&#xff0c;我们来学习数据结构中的另一种基础的数据结构——链表…...

css 的渲染层合成是什么,浏览器如何创建新的渲染层

在 DOM 树中每个节点都会对应一个渲染对象&#xff08;RenderObject&#xff09;&#xff0c;当它们的渲染对象处于相同的坐标空间&#xff08;z 轴空间&#xff09;时&#xff0c;就会形成一个 RenderLayers&#xff0c;也就是渲染层。渲染层将保证页面元素以正确的顺序堆叠&a…...

OpenCore Legacy Patcher终极指南:5步让老旧Mac完美运行最新macOS系统

OpenCore Legacy Patcher终极指南&#xff1a;5步让老旧Mac完美运行最新macOS系统 【免费下载链接】OpenCore-Legacy-Patcher Experience macOS just like before 项目地址: https://gitcode.com/GitHub_Trending/op/OpenCore-Legacy-Patcher OpenCore Legacy Patcher是…...

Steam成就管理器终极指南:3步修复错失的游戏成就

Steam成就管理器终极指南&#xff1a;3步修复错失的游戏成就 【免费下载链接】SteamAchievementManager A manager for game achievements in Steam. 项目地址: https://gitcode.com/gh_mirrors/st/SteamAchievementManager Steam Achievement Manager&#xff08;SAM&a…...

如何快速掌握阴阳师自动化脚本:OAS解放双手的完整教程

如何快速掌握阴阳师自动化脚本&#xff1a;OAS解放双手的完整教程 【免费下载链接】OnmyojiAutoScript Onmyoji Auto Script | 阴阳师脚本 项目地址: https://gitcode.com/gh_mirrors/on/OnmyojiAutoScript 阴阳师自动化脚本&#xff08;Onmyoji Auto Script&#xff0c…...

ARM Neoverse-V3架构解析与性能优化实战

1. ARM Neoverse-V3架构概览作为Arm公司面向基础设施领域的最新处理器IP&#xff0c;Neoverse-V3代表了当前服务器级处理器的顶尖设计水平。我在实际芯片开发中多次接触该架构&#xff0c;其设计哲学可概括为&#xff1a;通过精细化微架构控制实现性能与能效的完美平衡。1.1 指…...

AI 术语通俗词典:计算图

计算图是深度学习、自动微分、神经网络训练和人工智能框架中非常重要的一个术语。它用来描述&#xff1a;把一次数学计算过程表示成由节点和边组成的图结构。换句话说&#xff0c;计算图是在回答&#xff1a;模型中的输入、参数、运算和输出之间&#xff0c;到底是如何一步步连…...

本地可控 AI 助手搭建|Windows 一键安装 OpenClaw 操作指南

OpenClaw&#xff08;小龙虾&#xff09;Windows 一键部署保姆级教程&#xff5c;10 分钟搭建专属数字员工 前言 2026 年备受关注的开源 AI 智能体 OpenClaw&#xff08;昵称小龙虾&#xff09;&#xff0c;在 GitHub 收获大量关注&#xff0c;凭借本地运行、零代码操作、自动…...

量子退火与经典优化结合的金融投资组合优化实践

1. 量子退火与经典优化结合的金融投资组合优化实践在金融投资领域&#xff0c;如何构建最优投资组合一直是核心挑战。传统方法如现代投资组合理论(MPT)和均值-方差优化(MVO)虽然奠定了理论基础&#xff0c;但在处理大规模资产配置时往往面临计算效率瓶颈。近年来&#xff0c;量…...

Python驱动GitHub Actions状态监控:打造物理信号塔灯实时反馈CI/CD流水线

1. 项目概述与核心价值在团队协作开发中&#xff0c;持续集成与持续部署&#xff08;CI/CD&#xff09;的流水线状态是项目健康度的“晴雨表”。我们每天都会频繁地提交代码、触发构建&#xff0c;然后盯着GitHub Actions页面上那些或绿或红的标记。但问题在于&#xff0c;这种…...

CFETR重载机械臂精确运动控制验证【附仿真】

✨ 长期致力于中国聚变工程实验堆、遥操作、多功能重载机械臂、路径规划、精确控制、数据融合控制研究工作&#xff0c;擅长数据搜集与处理、建模仿真、程序编写、仿真设计。 ✅ 专业定制毕设、代码 ✅ 如需沟通交流&#xff0c;点击《获取方式》 &#xff08;1&#xff09;刚柔…...

别再只认识空气开关了!从家用配电箱到工厂配电柜,一文搞懂断路器的选型与接线(附实物图)

从家庭配电到工业电力&#xff1a;断路器的实战选型与安全接线指南 推开配电箱的门板&#xff0c;那些排列整齐的断路器不仅仅是电路的通断开关&#xff0c;更是守护用电安全的第一道防线。无论是家庭装修中的线路规划&#xff0c;还是工厂车间的电力分配&#xff0c;选择合适的…...