0

我在 hive 中有一个托管表,我想根据它的一个列进行分区。有没有一种简单的方法可以从此托管表创建分区表?

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

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

谢谢

4

1 回答 1

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

于 2013-10-04T20:26:36.447 回答