使用一个脚本创建多个月的配置单元分区

rpppsulh  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(239)

我有4年的数据。就像

'2011
 2012
 2013
 2014'

我必须根据一个月的数据进行查询。因此,我创建如下分区。

'ALTER TABLE table1_2010Jan ADD PARTITION(year='2010', month='01', day='01')
 LOCATION 'path';
 ALTER TABLE table1_2010Jan ADD PARTITION(year='2010', month='01', day='02')
 LOCATION 'path';
 ALTER TABLE table1_2010Jan ADD PARTITION(year='2010', month='01', day='03')
 LOCATION 'path';'

我正在为每个月的每一天创建如上所述的单独分区。
我想知道我们是否可以编写一个脚本(任何语言)并运行一次来为每年的一个月的所有日子创建这些分区?或者有没有一种方法可以在Hive里做到这一点。
有什么建议吗。。

lpwwtiir

lpwwtiir1#

对于外部表,hive不能这样做。您可以创建shell/perl脚本来执行相同的操作(使用循环)。
对于配置单元管理的表,可以使用msck repair命令轻松完成。
https://cwiki.apache.org/confluence/display/hive/languagemanual+ddl#languagemanualddl-recoverpartitions%28msckrepairtable%29
唯一需要确保加载数据的是正确的分区。

相关问题