日期明智的加入 Hive 问题
Posted
技术标签:
【中文标题】日期明智的加入 Hive 问题【英文标题】:date wise JOIN in Hive making issue 【发布时间】:2019-01-12 01:11:36 【问题描述】:我需要根据以下条件加入两个表。 我的表 A 看起来像
id,date
12,20190114
13,20190118
14,20190123
表 B 的样子
id,date
13,20190108
12,20190108
13,20190101
13,20190115
14,20190129
14,20190122
当我申请加入条件时,我需要考虑以下几点
1. id should be same for both tables
2. date from table A should join with the date previous to the table B
dates(table B dates are weekly basis... I need to find the current week).
也就是说,表 B 的日期是每周的日期。例如,对于 id=13 表 A 的日期是 20190118 ,表 B 的对应日期是 20180115 ,即表 A 所在的本周...
JOIN 后我的结果应该是这样的
id,a.date,b.date
13,20190118,2018015
12,20190114,20190108
14,20190123,20190122
谁能告诉我如何在蜂巢中实现这一目标
【问题讨论】:
【参考方案1】:这在 Hive 中有效吗?
select a.id, a.date, max(b.date)
from a join
b
on a.id = b.id and b.date <= a.date
group by a.id, a.date;
Here 是一个 dbfiddle,表明它适用于提供的数据,尽管在 Postgres 中。
【讨论】:
"on a.id = b.id and b.date @BigD。 . .该代码执行您的问题指定的操作。问题是它是否在 Hive 中运行。以上是关于日期明智的加入 Hive 问题的主要内容,如果未能解决你的问题,请参考以下文章