hive建表语句

hive有三种建表语句

1,create建表

CREATE EXTERNAL TABLE dwd_database.table_name(
id BIGINT,
user_id STRING,
gmt_modified TIMESTAMP,
gmt_create TIMESTAMP,
pending_reward INT,
description STRING
)
PARTITIONED BY (
pt STRING
)
row format delimited fields terminated by '\t'
STORED AS TEXTFILE
location 'hdfs://nameservice1/user/hive/warehouse/dwd_database.db/table_name';

参数说明:

EXTERNAL:外部表(如果是内部表可以不用)

dwd_database:库名

table_name:表名

partition by :分区字段

row format delimited fields terminated by '\t':指定表存储中列的分隔符,默认是\001,这里指定的是\t分隔符,还可以指定其他的列分隔符

STORED AS TEXTFILE:数据格式,这里是text格式,也可以是其他格式如:TextFile、SequenceFile、RCFile、Avro、ORC、ParquetFile等。

location :外部表加载路径,内部表默认路径为:/user/hive/warehouse/dwd_database.db/table_name

 

2, create table ... as   select .....

例如:

create table table_name
as
select * from t_table_name where partition_name='202301';

根据查询来创建新表,并给新表命名;需要注意的是:
select * 可以给新表重新定义列名(as)
table_name表不支持分区分桶
table_name表不能是外部表
table_name表可以重新设定储存格式和分隔符
table_name表默认为文本格式


3,like创建相同结构的表

例如:

create external table like …

主要用来复制表
如果建内部表,去掉externa

 

posted @   码码小菜鸟  阅读(3025)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示