我试图创建一个表并复制另一个表的架构,如下所示:

CREATE TABLE IF NOT EXISTS new_table LIKE old_table;

当我这样做时,因为old_table是一个分区的外部表,所以它也会对new_table进行分区。我不需要或不想对new_table进行分区,我基本上只希望列定义。它们很多,而且我经常在管道中执行此类操作,因此我基本上很懒惰,因为我不想在整个脚本中分散大量的列定义。

我可以复制表架构并忽略分区,还是至少可以在创建new_table后删除分区?我设法找到了删除分区的方法,但是没有完全删除分区。

最佳答案

您可以使用此查询来创建不带分区的new_table:

CREATE TABLE IF NOT EXISTS new_table AS SELECT * FROM old_table LIMIT 1;

关于hadoop - 没有分区的Hive复制架构或删除分区,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50105612/

10-16 05:33