在现有 Hive 表上添加分区

Sha*_*ile 5 sql hadoop hive

我正在处理一个大蜂巢表(超过 5000 亿条记录)。处理速度太慢,我想让它更快。我认为通过添加分区,该过程可能会更加有效。

有人能告诉我该怎么做吗?请注意,我的表已经存在。

我的桌子:

create table T(
nom string,
prenom string,
...
date string)
Run Code Online (Sandbox Code Playgroud)

按日期字段分区。

谢谢

小智 3

 SET hive.exec.dynamic.partition = true;

SET hive.exec.dynamic.partition.mode = nonstrict;

INSERT OVERWRITE TABLE table_name PARTITION(Date) select date from table_name; 
Run Code Online (Sandbox Code Playgroud)

注意: 在分区表的插入语句中,请确保在 select 子句的最后指定分区列。