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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!