Hive 查询在生成缺失日期时面临问题

2023-12-12

我有一个要求,我需要返回到列的先前值,直到 1000 行,并获取之前的 1000 个日期以用于下一步,但是表中该列不存在所有这些先前的 1000 个日期。但我需要从查询的输出中获取那些缺失的日期。

当我尝试运行下面的查询时,它没有显示当前日期的 1000 个先前日期值。

示例:假设日期列只有 2 个可用日期

date      
2019-01-16 
2019-01-19

我提出了一个查询来获取 1000 个日期,但它只给出最近的日期,因为所有以前的日期都丢失了

SELECT date FROM  table1 t
WHERE 
date >= date_sub(current_date,1000) and  dt<current_date ORDER BY date LIMIT 1

如果我运行上面的查询,它会显示2019-01-16,由于不存在前 1000 天的回溯日期,因此给出了最近的日期,即2019-01-16但我需要缺少从以下日期开始的日期2016-04-23(从当前日期算起的第 1000 个日期)直到当前日期之前(2019-01-18)作为我的查询的输出。


您可以在子查询中生成所需范围的日期(请参阅date_range下面示例中的子查询)和left join它与你的桌子。如果您的表中某些日期没有记录,则该值为空,日期将从date_range没有间隙的子查询。放start_date and end_datedate_range 所需参数:

set hivevar:start_date=2016-04-23; --replace with your start_date
set hivevar:end_date=current_date; --replace with your end_date

set hive.exec.parallel=true;
set hive.auto.convert.join=true; --this enables map-join
set hive.mapjoin.smalltable.filesize=25000000; --size of table to fit in memory

with date_range as 
(--this query generates date range, check it's output
select date_add ('${hivevar:start_date}',s.i) as dt 
  from ( select posexplode(split(space(datediff('${hivevar:end_date}','${hivevar:start_date}')),' ')) as (i,x) ) s
) 

select d.dt as date,
       t.your_col --some value from your table on date
  from date_range d 
       left join table1 t on d.dt=t.date 
order by d.dt --order by dates if necessary
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hive 查询在生成缺失日期时面临问题 的相关文章

  • 如何使用 SQL 语法更改主键约束?

    我有一个表 其主键约束中缺少一列 我不想通过 SQL Server 对其进行编辑 而是想将其放入脚本中以将其添加为更新脚本的一部分 我可以使用什么语法来执行此操作 我必须删除并重新创建关键约束吗 是的 唯一的方法是使用 Alter 表删除约
  • 如何加载大量字符串与oracle数据库匹配?

    我目前正在学习 PL SQL 所以我还是一个新手 假设您有一个生产数据库 并使用 Oracle SQL Developer 连接到该数据库 您对该数据库仅有读取权限 因此您无法创建或编辑任何表 我的问题是 如果我有一个很大的 ID 列表 我
  • ISDATE 相当于 DB2

    我有一个包含字符格式日期的表 我想检查日期的格式 请让我知道如何在 DB2 中做到这一点 我知道有一个函数 ISDATE 但它在 DB2 中不起作用 我在 AS400 上使用 db2 作为日期基础 请帮助我 实际上 看起来 DB2 for
  • 当用户单击链接时如何在表中创建新字段

    我的表格如下图所示 In order to insert data from this form into table I coded this supplier info supplier name POST supplier name
  • 数据流任务的 Foreach 循环容器

    我想从 Oracle DB 导入近 1200 万条记录 但由于 SSIS 内存缓冲区问题 我需要每年迭代我的数据流任务 即 2005 年到 2012 年 7 次 我如何使用 foreach 我的 oracle 查询来获取每年的数据 Quer
  • 如何在Oracle中获取每周数据

    我制作了一个矩阵报告 其中需要根据选择参数动态显示列 我有一个日期选择参数 如果我在选择参数上选择日期为 03 01 2010 2010 年 3 月 1 日 那么它应该显示为 3 月 1 日 3 月 7 日 这取决于你追求什么 如果您在接下
  • 在 PostgreSQL 中向日期添加月份显示语法错误

    我使用的是Postgres 9 0版本 我想在日期中添加一些月份来计算新日期并在表中更新 这里要添加的月份数将是整数变量 我的代码如下 declare numberofmonths smallint 5 update salereg1 se
  • 使用 C# 检索 SQL Server 中具有 varchar 数据类型的字段的大小

    我正在使用 VS 2010 和 SQL Server 2008 在 ASP NET 中创建一个项目 我想检索具有以下内容的列的大小varchar数据类型 e g Varchar 20 我想要 20 而不是最大可能的大小varchar使用 C
  • 使用非管理员帐户时,SQL Linked Server 返回错误“不存在登录映射”

    我有一个本地 SQL Server 2008R2 我已将链接服务器配置为远程数据库 当我使用 SQL 登录帐户登录本地服务器时 链接服务器工作得很好sysadmin服务器角色 我可以查询远程服务器 因此我知道链接服务器设置是正确的 但是 如
  • 时态数据库设计,有一些变化(实时行与草稿行)

    我正在考虑实现对象版本控制 同时需要同时拥有活动对象和草稿对象 并且可以利用某人在这方面的经验的见解 因为我开始怀疑是否有可能在没有潜在可怕的黑客攻击的情况下实现这一点 为了示例 我将把它分解为带有标签的帖子 但我的用例更一般 涉及缓慢改变
  • 使用实体框架的子查询

    我正在移植一个子系统NHibernate to 实体框架并希望了解将以下查询移植到的最佳方法EF var date DateTime Now It can be any day AccountBalanceByDate abbd null
  • LINQ 中的日期差异逻辑

    我尝试从两个不同的数据库表访问数据 然后使用 C 中的 LINQ 将它们连接到两个字段上 我相信我有一个逻辑合理的整体工作方法 我遇到的部分问题是 我在连接两个表之前过滤了它们的数据 因为这些表的数据太多 会导致崩溃 主要问题是 对于其中一
  • SQL 中WITH 子句的使用指南

    我了解如何使用WITH递归查询子句 但我在理解它的一般用途 功能时遇到问题 例如 以下查询更新一条记录 其 id 是通过使用按时间戳返回第一条记录 id 的子查询来确定的 update global prospect psp set sta
  • 打印当月每周的第一个星期一 Flutter/Dart

    我的 Flutter 应用程序中有一个日历 我需要打印当月的几周列表 但不是从每个月的第一天开始 而是需要从该月的第一个星期一开始 例如 2021 年 4 月 5 日作为 2021 年 4 月的第一个星期一 然后我需要打印出该月接下来的几周
  • 如何在 Hive 中使用 NOT IN

    假设我有 2 个表 如下所示 现在 如果我想获得 sql 将给出的结果 insert into B where id not in select id from A 这将插入3 George在表B中 如何在蜂巢中实现这一点 Table A
  • 如何在 C# / SQL Server 中跟踪重复的日历事件? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想在应用程序的日期 时间显示上显示重复事件 该日期时间显示可以采用日历的形式 但也可以只是即将发生的事件的列表 处理跟踪这个可以重复
  • 行入列并分组

    我有一个如下所示的查询 SELECT OrganizationName OrganizationID ReceivableStatus InvoiceFee FROM v InvoicesFreelanceOutstanding ORDER
  • 两个sql查询的性能差异?

    我的表中有一个具有文本数据类型的字段 以下两个sql查询的性能是否有差异 select from tablename where fieldname xyz select from tablename where fieldname zyx
  • SELECT MySQL 字段包含子字符串[重复]

    这个问题在这里已经有答案了 使用 LIKE 在 MySQL 中非常常见 我们这样使用它 WHERE field LIKE substring 我们有一个子字符串 并且字段有完整的字符串 但我需要的是相反的东西 我在字段中有子字符串 所以 我
  • 依靠条件连接大表的速度很慢

    当表很小时 这个查询有合理的时间 我试图找出瓶颈是什么 但我不知道如何分析EXPLAIN结果 SELECT COUNT FROM performance analyses INNER JOIN total sales ON total sa

随机推荐

  • 如何检索 ADO.NET SqlCommand 的结果?

    我正在使用 ASP NET 我想查找表中的行数 我知道这是 SQL 代码 select count from topics 但是如何让它显示为数字呢 我想做的就是运行该代码 如果它 0 显示一件事 但如果它大于 0 显示其他内容 这是我到目
  • 如何将QLineEdit背景变成进度条

    该代码创建一个对话框QLineEdit and a QPushButton 单击按钮时我想要QLineEdit变成一个进度条 显示按下按钮触发的过程的进度 当该过程完成时QLineEdit应该恢复到正常的 LineEdit 外观 如何实现这
  • 检查字符串是否以以下结尾

    我想检查字符串是否以以下结尾 v number 例如 hello world false hello world v2 true hello world v false hello world v88 true 不完全确定如何执行此正则表达
  • “与 Google 集成”按钮消失

    这是我们的 Google Apps Marketplace 应用程序的列表 该按钮也从我们集成的每个页面上消失了 当我在应该出现该按钮的页面上查看浏览器中的控制台日志时 我看到对此网址的调用 https apis google com ad
  • 根据序列号重命名匹配的文件

    假设我有一堆 mac 屏幕截图的文件 Screen Shot 2018 11 09 at 12 37 37 PM png Screen Shot 2018 11 10 at 4 53 02 PM png Screen Shot 2018 1
  • Chartjs - 如何在 x 轴标签上获取过去 7 天的数据?

    我试图在折线图的 x 轴上获取过去 7 天的信息 使用 Chartjs 做这个的最好方式是什么 Thanks 您可以使用以下代码实例化过去 7 天的图表 let start new Date end new Date start setDa
  • 优化行为测试套件

    我有一个测试套件 其中有 20 个功能文件 并且正在执行 100 MySQL CRUD 操作 大约需要 5 分钟才能完成 如果我手动进行测试 最多需要大约 7 分钟 我需要知道的是 我需要做什么才能优化整个流程 Note 平行跑者不支持对于
  • 无法在 Ionic 2 项目中使用 cordova 文件插件读取文件

    我正在尝试使用Cordova 文件插件读取移动设备中保存的图像 这样我就可以获得它的 Base64 编码 我需要远程存储它 问题在于 resolveLocalFilesystemUrl 方法本应提供一个 File Entry 对象 但似乎返
  • 何时使用 git 子树?

    有什么问题git subtree解决 我何时以及为什么应该使用该功能 我读到它是用于存储库分离 但为什么我不直接创建两个独立的存储库 而是将两个不相关的存储库合并为一个呢 这个 GitHub 教程解释了如何执行 Git 子树合并 我有点知道
  • PHP 致命错误:找不到类“Dotenv”

    我有一个项目 我尝试运行它 但出现以下错误 PHP Fatal error Class Dotenv not found in home maras Documents eCodile debtorcare server bootstrap
  • 使用包“cmprsk”在 R 中自定义竞争风险图

    我正在尝试使用 R 和包定制竞争风险图cmprsk 具体来说 我想覆盖默认情况 即对于竞争事件使用颜色 对于不同组使用线型 这是我的可重现的示例 library ggplot2 library cmprsk library survmine
  • 标准化 FFT 数据 (FFTW)

    我一直在使用 FFTW 计算标准化 wav 文件数据的 FFT 然而 我对如何标准化 FFT 输出有点困惑 我一直在使用对我来说显而易见的方法 即除以最高的 FFT 幅度 然而 我已经看到建议除以 1 N 和 N 2 其中我假设 N FFT
  • 仅在 NVIDIA 上的 glDrawArrays 上的 Java OpenGL EXCEPTION_ACCESS_VIOLATION

    我正在使用 lwjgl 开发一个 java 游戏 它是 OpenGL 实现 从来没有任何问题 直到我与一位使用 NVIDIA 而不是 AMD 的同事交换它 突然它在 AMD 上工作的线路上崩溃 但它只在代码中的那个点崩溃 这是最磨损的部分
  • 在 Grails 中解析 CSV 并导出到 Mysql 数据库

    我是 Groovy Grails 的新手 我想提交解析 CSV 文件并导出到 MySQL 数据库的多个表中 我看过一些编码 但作为新手 这让我感到困惑 那么任何人都可以帮助我理解简单的 csv 文件解析并导出到 MySQL 数据库 谢谢 索
  • 适用于 Android 的 pdf 查看器库

    我知道这个问题已经被问过好几次了 但我找不到一个令人满意的答案 我的要求很简单 只需在我的应用程序 android 中打开pdf文档 但我无法找到一种简单的方法来做到这一点 它的原生 c c 方式或编写自己的引擎 但是没有任何简单的 API
  • 如何在dygraphs中设置特定的y轴标签点?

    Dygraphs 通常会根据轴的大小 标签的大小等自动选取 Y 和 X 轴标记点 在某些情况下 它会选取导致清晰度较低的标记点 例如 在 Y 轴值为 0 到 10 的图表上 它标记为 0 4 和 8 至少对于特定尺寸的图表而言 我希望将其标
  • wpf/silverlight 应用程序到 DVD

    如何转换 wpf silverlight 应用程序 使其可以在 DVD 上运行 我们有用于学习目的的 wpf 应用程序 我们希望创建该应用程序的 DVD 版本并将其提供给我们的用户 以便他们可以回家使用它们 任何建议将不胜感激 我们已经查看
  • 如何使用 sed 仅替换第二个匹配行

    cat file cat cat dog cat dog puppy dog cat 使用 sed sed s dog big dog my file gt new file cat new file cat cat big dog cat
  • 如何让 Eclipse 解析 MongoDB\BSON 命名空间中的 php 类?

    经过多次来来去去 我成功安装了 PHP 5 6 的 MongoDB 驱动程序 并使其在 OSX El Capitan 上运行 它的工作方式是使用Homebrew 为了开始处理项目 我为该项目创建了文件夹并使用Composer安装了我需要的必
  • Hive 查询在生成缺失日期时面临问题

    我有一个要求 我需要返回到列的先前值 直到 1000 行 并获取之前的 1000 个日期以用于下一步 但是表中该列不存在所有这些先前的 1000 个日期 但我需要从查询的输出中获取那些缺失的日期 当我尝试运行下面的查询时 它没有显示当前日期