gpt4 book ai didi

sql - 在 Hive SQL 中,使用分区键基于另一个表中的列创建表

转载 作者:可可西里 更新时间:2023-11-01 15:29:34 29 4
gpt4 key购买 nike

我想根据现有表中的列创建一个新表,在配置单元中添加一个新的分区列。

我想在 hive sql 中实现这个目标。

除了下面的sql或者使用kettle之类的ETL工具还有没有别的办法

create table if not exists table_name(
col1,
col2,
col3,
……,
coln
)partitioned by dt;

其中col1到coln来自已经存在的旧表,dt是新添加的partition key。

因为旧表太大,可能有几百列,罗列出来会很累。

但是,下面的sql显示语法错误:

create table if not exists table_name like older_table_name partitioned by dt;

所以我想知道在 hive sql 中有没有其他更好的方法来解决这个问题?谢谢。

最佳答案

如果所有列和dt列可以使用以下方式创建分区表:

CREATE TABLE newtable (col1 int, col2 string) PARTITIONED BY (dt string) AS
SELECT col1 , col2, dt FROM oldtable WHERE dt is not null;

关于sql - 在 Hive SQL 中,使用分区键基于另一个表中的列创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37045540/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com