Hive窗口函数大全

2023-10-26

一、偏移量函数

lag

语法:lag(col,n,default_val)
返回值:字段类型
说明:往前第n行数据。

lag(column字段,第n行,默认值)
lag函数能够取出往前n行的数据值,如果数据为空值,则取默认值

lead

语法:lead(col,n, default_val)
返回值:字段类型
说明:往后第n行数据。

lead(column字段,第n行,默认值)
lead函数能够取出往后n行的数据,如果数据为空值,则取默认值

Tip:lead的英文翻译为领先的,这里的领先指的是当前数据行,因此想要取往后的数据需要使用lead
Tip:lag的英文翻译为落后的,这里的落后指的是当前数据行,因此想要取往前的数据需要使用lag

二、窗口分析函数

first_value

语法:first_value (col,true/false)
返回值:字段类型
说明:当前窗口下的第一个值,第二个参数为true,跳过空值。

first_value能够取出当前窗口下的第一个值,第二参数能够选择跳过空值。

last_value

语法:last_value (col,true/false)
返回值:字段类型
说明:当前窗口下的最后一个值,第二个参数为true,跳过空值。

last_value能够取出当前窗口下的第一个值,第二参数能够选择跳过空值。

Tip:窗口分析函数通常需要对分区数据进行order by排序,经过排序后的再使用窗口分析函数

三、排序函数

rank

语法:rank() over(……)
返回值:int
说明:排名相同时会重复,总数不会减少(12225……)。

rank为跳跃排序函数

dense_rank

语法:dense_rank() over(……)
返回值:int
说明:排名相同时会重复,总数会减少(12223……)。

dense_rank为不跳跃排序函数

row_number

语法:row_number() over(……)
返回值:int
说明:数据值相同时不会重复,总数不会减少(1234567……)。

row_number为顺序唯一排序函数

Tip:排序函数为面试常考题目,务必掌握捏。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hive窗口函数大全 的相关文章

随机推荐

  • 好的软件架构设计

    什么是软件架构 前言 软体设计师中有一些技术水平较高 经验较为丰富的人 他们需要承担软件系统的架构设计 也就是需要设计系统的元件如何划分 元件之间如何发生相互作用 以及系统中逻辑的 物理的 系统的重要决定的作出 在很多公司中 架构师不是一个
  • 在VS中配置VTK

    VTK与VS结合使用有两种配置方式 一种是配置cmake 一种是配置VS 两者配置一者即可 我这里只讲解一下配置VS的步骤吧 我用的是VS2010 打开VS 找到属性 在VC 目录中修改包含目录和库目录为自己安装VTK的include和li
  • 华为OD机试真题-最多等和不相交连续子序列【2023Q2】【JAVA、Python、C++】

    题目描述 给定一个数组 我们称其中连续的元素为连续子序列 称这些元素的和为连续子序列的和 数组中可能存在几组连续子序列 组内的连续子序列互不相交且有相同的和 求一组连续子序列 组内子序列的数目最多 输出这个数目 输入描述 第一行输入为数组长
  • 怎么用计算机算lnx,ln计算(log计算器在线)

    ln MN lnM lnN ln M N lnM lnN ln M n nlnM ln1 0 lne 1 注意 拆开后 M N需要大于0 没有 ln M N lnM lnN 和ln M N lnM lnN lnx 是e x的反函数 也就是说
  • 华为设置android系统提醒功能,华为手机短信不提醒怎么办?华为手机短信提醒设置方法...

    华为手机短信提醒设置方法 1 检查当前设置的默认短信应用是哪个应用 点击桌面 设置 图标 找到 应用程序管理 选择 默认应用设置 选择 信息 可以看到当前正在使用的默认短信应用名称 如果使用的是第三方短信应用 请将 信息 勾选 改为使用默认
  • 制造蝴蝶飓风,微众区块链的蝶变和ESG新使命

    时间来到新世纪 共同繁荣 人与自然和谐发展等成为全球共识的背景下 越来越多的国家和组织开始践行ESG 环境 社会和公司治理 理念 在中国 乡村振兴 共同富裕 双碳战略 数字经济等国家级战略的推出 也旨在推动 效率优先 的发展模式 向公平与可
  • 生成openVPN客户端配置的shell脚本

    脚本介绍 在服务端 etc openvpn 目录下存放该脚本 client sh 脚本运行 运行方式 client sh client name client name填你想输入的客户端名称 例如 输入yes 和相应的ca密钥 运行成功如图
  • Python调用WebServer(WSDL)注意事项

    本人很少与WebServer交互 最近调用公司SAP的同步人员信息 发现一些很小的点 但是很浪费时间的注意事项 第一 不要去相信对方开发者嘴中所谓的JSON 很有可能是各种非标准JSON 这是非标准JSON 至于标准的 键带有双引号的 re
  • 关于域控DC不能正常同步GC的解决办法(域控时间超过墓碑时间) 与域控SRV记录

    现象 用户两台域控 GC PDC 上面创建用户DC不能正常同步 DC上面创建用户GC能够同步 同时发现有一台文件服务器有些机器不能正常访问 提示共享无权限 原因 用dcdiag命令在GC上没有问题 在DC上发现墓碑时间问题 可以确定是墓碑时
  • UnityHub打不开自己的项目的一个可能

    自己的unity项目前几天还一切正常 突然就打不开了 从unity跳转不到hub 从hub点项目转了几圈就没反应了 也没办法新建项目 看了网上很多解决方法 重新登录 没反应 删了unityhub重新下载 没反应 关闭防火墙重新插usb接口这
  • 关于Typora初次下载输入代码时代码行号不显示的问题

    关于Typora初次下载输入代码时代码行号不显示的问题 我刚用Typora的时候 打开代码块发现居然不显示行号 以下是我打开代码块内行号的显示的步骤 我刚用Typora的时候 打开代码块发现居然不显示行号 以下是我打开代码块内行号的显示的步
  • dataframe按照某一列的取值进行拆分

    dataframe按照某一列 假设列名为 columnname 的取值进行拆分 即 比如dataframe的第一列只有 a b 两种取值可能 就把dataframe拆分成两个小的dataframe 一个dataframe的第一列只取 a 另
  • 【WiFi】Hostapd工作流程分析

    目录 1 Hostapd概述 2 Hostapd代码框架 3 Hostapd各种命令配置工具 4 hostaod的主函数 5 hostaod代码分析 1 Hostapd概述 Hostapd是一个运行在用户态的守护进程 可以通过Hostapd
  • JavaScript 入门基础 - 流程控制(四)

    JavaScript 流程控制 分支和循环 文章目录 JavaScript 流程控制 分支和循环 1 什么是流程控制 2 顺序流程控制 3 分支流程控制 之 if语句 3 1 什么是分支结构 3 2 if 语句 3 2 1 if 语句基本理
  • IPV6组播地址

    1 IPV6组播地址 RFC4291定义组播地址格式如下 8 4 4 112 11111111 flgs scop group ID
  • nas文件服务器web接口,nas配置web服务器

    nas配置web服务器 内容精选 换一换 通过Web浏览器登录资源 会话页面载入失败 提示由于服务器长时间无响应 连接已断开 请检查您的网络并重试 Code T 514 云堡垒机系统与资源服务器之间网络连接不稳定 导致连接断开 云堡垒机系统
  • 计蒜客 蒜头君的新游戏(DP)

    蒜头君的新游戏 include
  • 构造函数设置为private,会怎样。

    构造函数设置为private 会怎样 1 无法静态的创建对象了 即不能通过 A a这种方式创建对象了 只能通过在类的内部的静态成员函数中new一个对象 动态的创建对象 include
  • NotScripts扩展在Chrome中禁用网页JavaScript

    经常上网查找资料的朋友 应该对于那些无法复制网页内容的网站是深有感触的 由于这些网站作者为保护自己的网站内容不被他人抄袭 使用了JavaScrip来禁用鼠标右键复制功能 解决办法当然就是用浏览器禁止使用网页的JS加载或者生效了 如果你经常使
  • Hive窗口函数大全

    Hive窗口函数 一 偏移量函数 lag lead 二 窗口分析函数 first value last value 三 排序函数 rank dense rank row number 一 偏移量函数 lag 语法 lag col n def