我希望将数据存储到配置单元中,以便在pas月份(每天约100gb)运行分析。我的行包含一个日期(字符串)字段,如下所示:2016-03-06t04:31:59.933012793+08:00我想基于这个字段进行分区,但只基于日期(2016-03-06)--我不关心时区。有没有办法在不改变原有格式的情况下实现这一点?分区的原因是性能和删除旧数据以获得滚动数据窗口的能力。谢谢您
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)
这里我将对分区列应用一些转换。希望这有帮助。从底座开始;
1条答案
按热度按时间8ehkhllq1#
您可以通过使用动态分区插入覆盖表来实现这一点。
您可以对日期时间列应用子字符串或regexp\u extract函数,并以所需格式获取值。下面是我的示例查询,通过对分区列应用函数来加载分区表。
这里我将对分区列应用一些转换。希望这有帮助。从底座开始;