Hive QL 检索最大值

Posted

技术标签:

【中文标题】Hive QL 检索最大值【英文标题】:Hive QL retrieve max value 【发布时间】:2021-12-29 02:35:31 【问题描述】:

我正在尝试使用 Hive QL 从数据库中检索数据。我有 2 列 start_time 具有开始时间和 time_stamp 记录从“Start_time”开始完成的每项工作

JOB         start_time              work_done             time_stamp
-------------------------------------------------------------------------
JOB_A     2021/12/29 11:00:00       work_A            2021/12/29 11:00:00
JOB_A     2021/12/29 11:00:00       work_A            2021/12/29 11:20:00
JOB_A     2021/12/29 11:00:00       work_B            2021/12/29 11:45:00
JOB_B     2021/12/29 11:00:00       work_A            2021/12/29 12:00:00
JOB_B     2021/12/29 11:00:00       work_A            2021/12/29 12:15:00
JOB_B     2021/12/29 11:00:00       work_B            2021/12/29 12:30:00

我想要的是JOB_A的start_time和JOB_A和JOB_B结束的time_stamp

JOB         start_time                     time_stamp
------------------------------------------------------------
JOB_A     2021/12/29 11:00:00            2021/12/29 11:45:00
JOB_B     2021/12/29 11:00:00            2021/12/29 12:30:00

我尝试使用

select 
JOB,
start_time,
max(time_stamp)
from table_1

我仍然得到与我的输出相同的表

【问题讨论】:

HiveQL SQL Server - 请更正您的标签。 根据问题指南,请展示您的尝试并告诉我们您发现了什么(在本网站或其他地方)以及为什么它不能满足您的需求。 请提供您想要的结果。 我建议研究group by 好的,让我检查一下,谢谢 Dale 【参考方案1】:

select c.JOB, max(c.time_stamp) from test1229 c join (select * from test1229) d on d.JOB = c.JOB where c.time_stamp > d.time_stamp group by c.JOB

【讨论】:

【参考方案2】:

您必须按组子句中的选择 P>添加

select 
JOB,
start_time,
max(time_stamp)
from table_1
group by JOB, start_time

这样一来,你为每个不同的对工作/ START_TIME最大(TIME-STAMP)从你的记录。 P>

记住的是,如果将JOB_A在另一个START_TIME重新开始,将有第二行与JOB_A和其相应的新的start_time和TIME_STAMP值。 P>

【讨论】:

以上是关于Hive QL 检索最大值的主要内容,如果未能解决你的问题,请参考以下文章

SparkSQL 错误:org.apache.hadoop.hive.ql.metadata.HiveException:无法实例化 org.apache.hadoop.hive.ql.metadat

什么是 Hive:从 org.apache.hadoop.hive.ql.exec.MapRedTask 返回代码 2

Hive 查询错误 java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException

Hive QL——深入浅出学Hive

Spark saveAsTable append 将数据保存到 hive 但抛出错误:org.apache.hadoop.hive.ql.metadata.Hive.alterTable

从 spark(2.11) 数据帧写入 hive 分区表时出现 org.apache.hadoop.hive.ql.metadata.Hive.loadDynamicPartitions 异常