蜂巢CREATE TABLE LIKE其他表集分区键
问题描述:
我有没有table1
分区键,我想创建一个table2
,用相同的模式table1
,但设置一列“datestr
”作为分区键。我如何编写CREATE TABLE LIKE
查询来执行此操作?蜂巢CREATE TABLE LIKE其他表集分区键
table1:
datestr, userID, transaction, balance
table2 (set datestr as partition key):
datestr, userID, transaction, balance
答
的CREATE TABLE LIKE
DDL不支持设置分区
我相信你可以执行CTAS查询像这样
Create table table2 (userID INT, transaction STRING, balance DECIMAL)
Partitioned by (datestr STRING)
as
select userID, transaction, balance, datestr
From table1;
当然添加相应的列类型
的东西是事务是一个“数组结构”和“许多其他嵌套结构和数组的数组”巨型类型。我只是不能扩展模式...有没有一种方法来分配分区键,而不必指定类型? – daydayup
我假设'datestr'是一个字符串。 Hive可以很好地处理结构和数组......你并没有对它们进行分区,但是你必须指定它们来创建任何表,分区或不分区 –
另外,你可以从另一个字面上复制SHOW CREATE TABLE命令表,然后为新表添加分区,然后执行一个'INSERT INTO' –