【发布时间】:2013-10-11 12:13:22
【问题描述】:
我在 hive 中有一个托管表,我想根据其中的一列对其进行分区。 有没有一种简单的方法可以从此托管表创建分区表?
托管表 a (s,d,f,g,h,j,k, key)
将表 b 创建为表 a,按 key 分区。
谢谢
【问题讨论】:
标签: mysql sql hadoop hive partition
我在 hive 中有一个托管表,我想根据其中的一列对其进行分区。 有没有一种简单的方法可以从此托管表创建分区表?
托管表 a (s,d,f,g,h,j,k, key)
将表 b 创建为表 a,按 key 分区。
谢谢
【问题讨论】:
标签: mysql sql hadoop hive partition
您可以通过动态分区来做到这一点:
这是一个例子: 我有一些日志数据,其中包含字段
id、tdate、信息 我创建了一个动态分区表
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”
【讨论】: