基于字段的第一个字符的数据库分区配置单元

xqnpmsa8  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(204)

我希望将数据存储到配置单元中,以便在pas月份(每天约100gb)运行分析。
我的行包含一个日期(字符串)字段,如下所示:2016-03-06t04:31:59.933012793+08:00
我想基于这个字段进行分区,但只基于日期(2016-03-06)--我不关心时区。有没有办法在不改变原有格式的情况下实现这一点?
分区的原因是性能和删除旧数据以获得滚动数据窗口的能力。
谢谢您

8ehkhllq

8ehkhllq1#

您可以通过使用动态分区插入覆盖表来实现这一点。
您可以对日期时间列应用子字符串或regexp\u extract函数,并以所需格式获取值。下面是我的示例查询,通过对分区列应用函数来加载分区表。

CREATE TABLE base2(id int, name String)
PARTITIONED BY (state string);

INSERT OVERWRITE TABLE base2 PARTITION (state)
SELECT id, name, substring(state,0,1)

这里我将对分区列应用一些转换。希望这有帮助。从底座开始;

相关问题