我在 hive 中有一个托管表,我想根据它的一个列进行分区。有没有一种简单的方法可以从此托管表创建分区表?
托管表 a (s,d,f,g,h,j,k, key)
将表 b 创建为按键分区的表 a。
谢谢
您可以通过动态分区来做到这一点:
这是一个示例:我有一些日志数据,其中包含字段
id, tdate, info 我创建了一个动态分区表
CREATE TABLE log_partitioned(id STRING, info STRING)
PARTITIONED BY ( tdate STRING)
然后加载数据
FROM logs lg
INSERT OVERWRITE TABLE log_partitioned PARTITION(tdate)
SELECT lg.id, lg.info, lg.tdate
DISTRIBUTE BY tdate;
它将通过托管表的动态分区成功加载数据。
我发现本教程非常有用。请参考这个“ http://kickstarthadoop.blogspot.com/2011/06/how-to-speed-up-your-hive-queries-in.html ”