我有一个表,其中包含特定时间键的条目。每个月的表应使用前三个月的结果进行更新。过去的记录应删除。该脚本每月自动运行一次。是否有办法在 hive 中实现此目的?
最佳答案
如果您想通过查询来做到这一点。
insert overwrite table <tablename>
select
col1,
col2,
....
from tablename where timekey >(select from_unixtime(unix_timestamp(add_months(current_date(),-3), 'yyyy-MM-dd'), 'yyyyMM'));
上面的查询将读取表数据并仅插入最近3个月的记录