我把一张 hive 的table按年、月、日进行了分区
CREATE TABLE t1 (
...
)
PARTITIONED BY (
year INT,
month INT,
day INT'
)
STORED AS PARQUET;
我需要从过去7天/分区中获取数据。找到如何获取最后七天的数据的第一步是:
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
val runDate = date
val runDay = LocalDate.parse(runDate.toString, formatter)
val runDayMinus7 = runDay.minusDays(7)
然后我面对桥下的巨魔。有没有办法通过多个分区在这两个日期之间选择数据?否则,是否有某种方法我不需要将多个分区更改为单个分区yyyymmdd?
不是斯卡拉就是Hive。
提前谢谢
1条答案
按热度按时间jpfvwuh41#
我创建了下一个方法来解决这个问题。两个参数,日期和天数
如果我们导入javalocaldate,那么我们需要getmonthvalue。以防,我们使用的是joda.time然后是getmonthofyear