美文网首页
Sql中的window

Sql中的window

作者: NatsuYori | 来源:发表于2020-09-08 22:50 被阅读0次

之前上数据库课的时候还是看过window这个概念的,但是好久没用了…基本忘光…
用到这个函数的起因,是在组织feature的时候需要历史特征,本来只需要前一天的历史数据,用filter筛出数据,再join回去就好了,但是由于在实验阶段,扩展到最后需要前7天的数据,可想而知那个代码改的老长…当然window函数也就在某些特定情况才能用的

Window In Scala

在scala中,定义窗体对象

 windowObj = window.partitionBy(field1, field2, ...).orderBy(filed_N)

这里可以看做是定义了一个规则,按照parition中指定的field进行分区,然后这些分区按照fileld_N进行排序
一般窗体对象还可以和rowsbetween和rangebetween一起使用,rowsbetween指的就是排序后的分区块间距,rangebetween则是具有数据含义的,根据filed的值,在指定range范围内的都会被筛进来

  windowObj = window.partitionBy(field1, field2, ...).orderBy(filed_N).rowsbetween(-4,-1)

表示根据filedn顺序分区之后,在这个分区块的往前4块到1块的分区
这样只是定义了窗体的对象,在df需要使用窗体的时候,用over(windowObj)从窗体中抽取对应的数据,比如使用

collect_list(filed1).over(windowobj)

可以从窗体中抽取对应行的窗口数据

相关文章

  • Sql中的window

    之前上数据库课的时候还是看过window这个概念的,但是好久没用了…基本忘光…用到这个函数的起因,是在组织feat...

  • Spark Sql中的window函数

    ** 简介 **  在使用spark sql的时候经常会计算一些汇聚特征,比如一个卖家在一段时间的销售总额,对于这...

  • Flink 源码之 Table early fire 和 lat

    背景 Flink SQL的window计算除了window结束后触发计算之外,还支持中途输出window中间累加结...

  • pyspark.sql.Window

    11.class pyspark.sql.Window 用于在DataFrame中定义窗口的实用函数。 windo...

  • join

    join 操作 window join 方式 代码形式 相当于sql中的stream1 join stream2 ...

  • 执行计划与索引访问方式

    打开 PL/SQL,Tools --> Preferences --> Window Types --> Plan...

  • sql developer 设置

    pl_sql_在SQL_window窗口自动大写关键字Tools-->Preferences-->Editor--...

  • 数据库 - 高级查询

    导入SQL文件: window系统 window把文件放在d/E/F盘根目录 关键字: source 格式: so...

  • phpstudy_pro+sqlilabs+sqlmap 安装与

    环境:64位,window10 本文主要介绍在安全测试中搭建的sql注入测试平台,通过phpstudy_pro,s...

  • window执行sql脚本

    mysql.bat declare_client.sql此文件为Navicat导出的mysql脚本, 需要在开始加...

网友评论

      本文标题:Sql中的window

      本文链接:https://www.haomeiwen.com/subject/hegvsktx.html