间隔连续问题

间隔连续问题

1. 数据结构:某游戏公司记录的用户每日登录数据

    表名:game_user

    字段名:id(用户id)、dt(日期)

2. 需求:

① 创建表

② 计算每个用户最大的连续登录天数,可以间隔一天。如:如果一个用户在1,3,5,6登录游戏,则视为连续6天登录。

3. 数据准备:

创建文件game_user.txt

[atguigu@hadoop102 ~]$ vim /opt/module/hive/datas/game_user.txt

1001 2022-05-01 23:21:33

1003 2022-05-02 23:21:33

1002 2022-05-01 23:21:33

1003 2022-05-01 23:21:33

1001 2022-05-03 23:21:33

1003 2022-05-04 23:21:33

1002 2022-05-01 23:21:33

1001 2022-05-05 23:21:33

1001 2022-05-01 23:21:33

1002 2022-05-06 23:21:33

1001 2022-05-06 23:21:33

1001 2022-05-07 23:21:33

4. 答案:

① 创建表

hive(default)>

create table game_user(

        id  bigint,

        dt  string

)

row format delimited 

fields terminated by '\t';

② 计算每个用户最大的连续登录天数,可以间隔一天

select id, datediff(max_dt, min_dt)
from
(
select id, max(dt) as max_dt, min(lag_dt) as min_dt
from
(select id, dt, lag_dt, datediff(dt, lag_dt) as date_diff, if(datediff(dt, lag_dt) > 2, 1, 0) as flag from(select id, dt, lag(dt, 1, '1970-01-01') over (partition by id order by dt asc) as lag_dtfrom (select id, date_format(dt, 'yyyy-MM-dd') as dtfrom game_user) tb1) tb2
)tb3where flag = 0
group by id
) tb4;

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

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

相关文章

EasyRTC轻量级SDK:智能硬件音视频通信资源的高效利用方案

在智能硬件这片广袤天地里,每一份资源的精打细算都关乎产品的生死存亡。随着物联网技术的疾速演进,实时音视频通信功能已成为众多设备的标配。然而,硬件资源的捉襟见肘,让开发者们常常陷入两难境地。EasyRTC,以它的极致…

神经网络剪枝技术的重大突破:sGLP-IB与sTLP-IB

神经网络剪枝技术的重大突破:sGLP-IB与sTLP-IB 在人工智能飞速发展的今天,深度学习技术已经成为推动计算机视觉、自然语言处理等领域的核心力量。然而,随着模型规模的不断膨胀,如何在有限的计算资源和存储条件下高效部署这些复杂的神经网络模型,成为了研究者们亟待解决的…

[AI相关]Unity的C#代码如何简写

是一个某培训机构的飞行棋教学源码 不知道,是否有人想知道怎么可以简写 (这个问AI,DeepSeek也应该找不到答案的) 静态变量 属性引用 单例 注入 一些UnityEvent特性就不说了。。。 IL 注入 运算符号改写

【Docker】容器被停止/删除的方式及命令:全面解析与实践指南

文章目录 引言一、容器的生命周期二、停止容器的命令及方式1. docker stop 命令2. docker kill 命令3. docker pause 和 docker unpause 命令4. docker restart 命令 三、删除容器的命令及方式1. docker rm 命令2. docker container prune 命令3. docker rm 与 docker rmi 的区…

Node.js技术原理分析系列——Node.js调试能力分析

本文由体验技术团队屈金雄原创。 Node.js 是一个开源的、跨平台的 JavaScript 运行时环境,它允许开发者在服务器端运行 JavaScript 代码。Node.js 是基于 Chrome V8引擎构建的,专为高性能、高并发的网络应用而设计,广泛应用于构建服务器端应…

轻松搭建本地大语言模型(二)Open-WebUI安装与使用

文章目录 前置条件目标一、安装 Open-WebUI使用 Docker 部署 二、使用 Open-WebUI(一)访问Open-WebUI(二)注册账号(三)模型选择(四)交互 四、常见问题(一)容器…

阿里云百炼通义大模型

阿里云百炼通义大模型 Part one(阿里云百炼大模型)一、什么是百炼(一)调用大模型 二、支持的大模型三、模型总览四、为什么选择百炼?五、开始使用百炼Part two一、开发参考二、模型调用(一)通义…

Golang学习笔记_33——桥接模式

Golang学习笔记_30——建造者模式 Golang学习笔记_31——原型模式 Golang学习笔记_32——适配器模式 文章目录 桥接模式详解一、桥接模式核心概念1. 定义2. 解决的问题3. 核心角色4. 类图 二、桥接模式的特点三、适用场景1. 多维度变化2. 跨平台开发3. 动态切换实现 四、与其他…

低代码(Low Code)全解析:从概念到应用,从选择到价值

​在数字化浪潮席卷全球的当下,企业对软件开发的效率与灵活性愈发重视,低代码平台应运而生并迅速掀起技术热潮。 本文基于笔者 6 年的低代码实践经验,深入剖析低代码的诸多方面,涵盖其定义、发展历程、国内平台对比、开发流程、与…

函数重载讲解

虽然在初识C-CSDN博客中介绍过,但还是感觉要单发出来大概讲解下 什么是函数重载? 函数重载是指在同一个作用域内,函数名相同,但它们的 参数列表 不同。C 允许你根据函数的参数个数、类型或者顺序的不同来定义多个同名函数。编译…

14-H指数

给你一个整数数组 citations ,其中 citations[i] 表示研究者的第 i 篇论文被引用的次数。计算并返回该研究者的 h 指数。 根据维基百科上 h 指数的定义:h 代表“高引用次数” ,一名科研人员的 h 指数 是指他(她)至少发…

关于es6-module的语法

ES6(ECMAScript 2015)引入了模块化的概念,旨在使 JavaScript 更加模块化、可维护和可重用。ES6 模块允许我们在不同的文件中组织和管理代码,使得不同模块之间的依赖关系更加清晰。 1. 导出(Export) 1.1 命…

Chrome多开终极形态解锁!「窗口管理工具+IP隔离插件

Web3项目多开,继ads指纹浏览器钱包被盗后,更多人采用原生chrome浏览器,当然对于新手,指纹浏览器每月成本也是一笔不小开支,今天逛Github发现了这样一个解决方案,作者开发了窗口管理工具IP隔离插件&#xff…

DeepSeek核心算法解析:如何打造比肩ChatGPT的国产大模型

注:此文章内容均节选自充电了么创始人,CEO兼CTO陈敬雷老师的新书《自然语言处理原理与实战》(人工智能科学与技术丛书)【陈敬雷编著】【清华大学出版社】 文章目录 DeepSeek大模型技术系列一DeepSeek核心算法解析:如何…

arm 入坑笔记

1.开发环境(IDE)使用keil_5 (keil_mdk) 2.两个手册需要关注:用户手册(编程需要),数据手册(硬件) 3.32bit地址空间:0~2^324GB寻址空间及(0-FFFF_FFFF&#x…

弱监督语义分割学习计划(0)-计划制定

经过与deepseek的一番讨论和交流,DeepSeek为我设计了一个30天高强度学习计划,重点聚焦弱监督/无监督语义分割在野外场景的应用,结合理论与实践,并最终导向可落地的开源项目。以下是详细计划: 总体策略 优先级排序&…

vscode远程报错:Remote host key has changed,...

重装了Ubuntu系统之后,由20.04改为22.04,再用vscode远程,就出现了以上报错。 亲测有效的办法 gedit ~/.ssh/known_hosts 打开这个配置文件 删掉与之匹配的那一行,不知道删哪一行的话,就打开第一行这个 /.ssh/confi…

Python - 爬虫利器 - BeautifulSoup4常用 API

文章目录 前言BeautifulSoup4 简介主要特点:安装方式: 常用 API1. 创建 BeautifulSoup 对象2. 查找标签find(): 返回匹配的第一个元素find_all(): 返回所有匹配的元素列表select_one() & select(): CSS 选择器 3. 访问标签内容text 属性: 获取标签内纯文本get_t…

DeepSeek驱动下的数据仓库范式转移:技术解耦、认知重构与治理演进

DeepSeek驱动下的数据仓库范式转移:技术解耦、认知重构与治理演进 ——基于多场景实证的架构革命研究 一、技术解耦:自动化编程范式的演进 1.1 语义驱动的ETL生成机制 在金融风控场景中,DeepSeek通过动态语法树解析(Dynamic Syn…

代码随想录算法训练营day38(补0206)

如果求组合数就是外层for循环遍历物品,内层for遍历背包。 如果求排列数就是外层for遍历背包,内层for循环遍历物品。 1.零钱兑换 题目 322. 零钱兑换 给你一个整数数组 coins ,表示不同面额的硬币;以及一个整数 amount &#xff0c…