有没有一种简单的方法从Hive中的托管表创建分区表?

时间:2013-10-04 13:16:12

标签: mysql sql hadoop hive partition

我在hive中有一个托管表,我希望根据其中一个列进行分区。 有没有一种从这个托管表创建分区表的简单方法?

托管表a(s,d,f,g,h,j,k,key)

将表b创建为按键分区的表。

由于

1 个答案:

答案 0 :(得分:1)

您可以通过动态分区执行此操作:

这是一个例子: 我有一些日志数据,有字段

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