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

标签 mysql sql hadoop hive partition

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

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

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

谢谢

最佳答案

您可以通过动态分区来做到这一点:

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

ID、日期、信息 我创建了一个动态分区表

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

关于mysql - 有没有一种简单的方法可以从 Hive 中的托管表创建分区表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19182195/

相关文章:

mysql - 循环的替代方案

当工厂构建/创建新的belongs_to时,Mysql外键约束冲突

javascript - 验证 html-javascript

mysql - 查找源id只有一个dest id的行

mysql - SQL:按多个字段分组

mysql - 选择每个线程的最新消息

SQL IN 函数问题

regex - 带有正则表达式的Hadoop fs -rm

java - 如何在 Java 程序中使用 Sqoop?

hadoop - Hive 版本 0.13.1 中的性能问题