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

做网站要给ftp密码吗福州短视频seo获客

做网站要给ftp密码吗,福州短视频seo获客,珠海网站制作公司,南京产品设计公司1. 需求概述 在分析用户行为时#xff0c;查询用户的连续登录数据是一个常见需求。例如#xff0c;我们需要找出每个用户连续三天登录的记录。给定一个包含用户登录记录的表#xff0c;我们需要对这些数据进行处理#xff0c;提取出用户连续三天登录的日期。 2. 问题说明…1. 需求概述 在分析用户行为时查询用户的连续登录数据是一个常见需求。例如我们需要找出每个用户连续三天登录的记录。给定一个包含用户登录记录的表我们需要对这些数据进行处理提取出用户连续三天登录的日期。 2. 问题说明 假设我们有一个用户登录记录表 user_log表结构如下 iddt12024-04-2512024-04-2612024-04-2712024-04-2812024-04-3012024-05-0112024-05-0212024-05-0412024-05-0522024-04-2522024-04-2822024-05-0222024-05-0322024-05-04 我们的目标是找出每个用户连续三天登录的所有数据记录期望的输出结果如下 iddt12024-04-2512024-04-2612024-04-2712024-04-2812024-04-3012024-05-0112024-05-0222024-05-0222024-05-0322024-05-04 3. 查询思路 为了完成这个任务我们可以利用 Hive SQL 的窗口函数来处理这个问题。主要的思路是 窗口函数的使用通过 LEAD() 函数获取当前登录记录的下一天和下两天的日期。日期差计算计算当前日期和下一天、下两天的日期差判断是否为连续的三天。筛选符合条件的数据最终筛选出满足条件即连续三天登录的数据记录。 4. 查询实现 下面是具体的 Hive SQL 查询实现 with t as (select *, lead(dt,1,dt) over(partition by id order by dt) last_day, lead(dt,2,dt) over(partition by id order by dt) last_2_day from user_log ), t2 as (select *, datediff(last_2_day, dt) date_diff from t ) select distinct id, d from t2 lateral view explode(map(dt, dt, last_day, last_day, last_2_day, last_2_day)) tem as s, d where date_diff 2; 5.代码解析 1. 子查询 t 这个子查询为每个用户的登录记录添加了两列分别是 last_day 和 last_2_day它们表示当前记录的下一天和下两天的登录日期。这里使用了窗口函数 LEAD() 来实现。 LEAD(dt, 1, dt)这个窗口函数获取当前行的下一天登录日期。如果下一天不存在则返回当前日期 dt 作为默认值。LEAD(dt, 2, dt)这个窗口函数获取当前行的下两天登录日期。如果下两天不存在则返回当前日期 dt 作为默认值。PARTITION BY id按 id 列即用户ID对数据进行分组。ORDER BY dt按日期排序。 所以t 子查询的结果将会如下假设数据表 user_log 的某一部分 iddtlast_daylast_2_day12024-04-252024-04-262024-04-2712024-04-262024-04-272024-04-2812024-04-272024-04-282024-04-3012024-04-282024-04-302024-05-0112024-04-302024-05-012024-05-0212024-05-012024-05-022024-05-0412024-05-022024-05-042024-05-05 2. 子查询 t2 在 t2 子查询中我们计算了日期差 date_diff它表示 last_2_day 和当前登录日期 dt 之间的天数差。使用了 DATEDIFF() 函数来计算两个日期之间的天数差。 DATEDIFF(last_2_day, dt)计算 last_2_day 与当前日期 dt 之间的天数差。 date_diff 为 2 的记录说明 dt 与 last_2_day 是连续的三天登录。 3. LATERAL VIEW 和 EXPLODE 在查询的外层使用了 LATERAL VIEW 和 EXPLODE 来对数据进行展平操作并对每个用户的连续三天登录日期进行处理。 LATERAL VIEWLATERAL VIEW 用于展开复杂数据类型如数组或映射。在这个查询中LATERAL VIEW 展开了一个映射map每个映射包含了 dt、last_day 和 last_2_day 三个字段。EXPLODE(map(...))EXPLODE 会将一个映射中的每个键值对展开为多行。对于每一行数据都会根据映射的每个键值对创建一行记录。 map(dt, dt, last_day, last_day, last_2_day, last_2_day) 创建了一个映射map映射的键是 dt、last_day 和 last_2_day值分别是 dt、last_day 和 last_2_day。 这将会生成一个包含每个字段名dt、last_day、last_2_day和值的结果行。LATERAL VIEW 使得每一行的键值对都展开为多行数据因此可以进一步进行查询操作。 4. 查询的最终条件 最后通过 where date_diff 2 筛选出符合条件的记录。这意味着我们只选取那些连续三天登录的记录日期差为 2并通过 distinct 去重。 5. 查询结果示例 在执行查询后我们将得到如下结果 iddt12024-04-2512024-04-2612024-04-2712024-04-2812024-04-3012024-05-0112024-05-0222024-05-0222024-05-0322024-05-04 这个结果显示了每个用户连续三天登录的记录符合我们预期的输出。
http://www.dnsts.com.cn/news/239091.html

相关文章:

  • 网站宣传推广策划方案零售电商
  • 长春做网站 长春万网网络销售是什么样的工作
  • 中国建设银行的招投标网站wordpress教程 百度云
  • 自己做的网站为什么访问不dw做网站首页长宽设置多少
  • 网站二级导航制作wordpress 文章浏览数
  • 东莞建设网站官网怎么在百度创建网页
  • 网站快速备案安全网络营销企业网站推广
  • 公司付的网站费怎么做分录潜江网站搭建
  • 南县网站建设gta5房子网站建设中
  • 做网站滨州益阳网站建设公司有哪些
  • 什么网站可以做试卷做超链接的网站
  • vs2010 c 网站开发wordpress的管理员权限代码
  • 高明网站开发公司wordpress模板文件是哪个文件夹
  • 网上建网站网站界面用什么做的
  • 长沙seo网站优化个人微信注册网站
  • 领动营销网站建设做网站怎么添加图片
  • 提供五屏网站建设wordpress英文版改成中文
  • 哈尔滨网站建设好重庆网站建设mlfart
  • HS酒店网站建设企业网站有哪些举几个例子
  • wordpress中文主题站怎样看网站是什么语言做的
  • jsp做视频网站做网站接私活怎么收费
  • 建筑公司网站首页图片蓬莱做网站
  • 如何注册域名和网站北京一家专门做会所的网站
  • 自己怎样建网站做微商vue做网站如何优化seo
  • 李宁网站建设的可行性做英文网站费用
  • 美食类网站开发需求做足球预测的网站
  • 东莞樟木头网站建设二级建造师报考条件2021考试时间
  • 浏览器打开用dw做的网站说网站备案政策
  • 瑞安微网站建设如何注册免费网站
  • 微信点赞网站怎么做那里网站建设好