繁体   English   中英

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

[英]Is there an easy way to create a partitioned table from a managed table in Hive?

我在蜂巢中有一个托管表,我想根据其列之一对其进行分区。 有没有一种简单的方法可以从该托管表创建分区表?

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

将表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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM