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
标签:语句,建表,name,create,hive,dwd,table From: https://www.cnblogs.com/bozai-1/p/17271410.html