Hive-如何使用原始表中的分区“按选择创建表..”?

Mag*_*ing 3 sql hadoop hive create-table hiveql

我需要从我们的 hive dlk 创建一个“工作表”。虽然我可以使用:

create table my_table as
select *
from dlk.big_table
Run Code Online (Sandbox Code Playgroud)

就好,我有带过的分区问题(属性daymonthyear)从原来的“BIG_TABLE”或只是创造这些属性的新的问题。在网上搜索并没有真正帮助我回答这个问题——所有的“教程”或解决方案都涉及create as select或创建分区,从来没有。这里有人可以帮忙吗?

lef*_*oin 12

不支持将分区表创建为 select。您可以分两步完成:

  1. create table my_table like dlk.big_table; 这将创建具有相同架构的表。

  2. 加载数据。

    set hive.exec.dynamic.partition=true; set hive.exec.dynamic.partition.mode=nonstrict;

    insert overwrite table my_table partition (day, month, year) select * from dlk.big_table;