間隔連續問題

間隔連續問題

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.pswp.cn/web/70101.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/70101.shtml
英文地址,請注明出處:http://en.pswp.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…