我在hive中有一个托管表,我希望根据其中一个列进行分区。 有没有一种从这个托管表创建分区表的简单方法?
托管表a(s,d,f,g,h,j,k,key)
将表b创建为按键分区的表。
由于
答案 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”