hive中创建表的三种方式

16 篇文章 0 订阅
8 篇文章 0 订阅

一.普通创建:

(1)创建外部表:删除表后数据删除,元数据还在

在这里插入图片描述

create EXTERNAL table 表名称(字段信息)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '字段之间分割符'
LINES TERMINATED BY '\n'

(2)创建管理表:删除表后数据删除,元数据也删除

在这里插入图片描述

create  table 表名称(字段信息)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '字段之间分割符'
LINES TERMINATED BY '\n'

二.CTAS 通过子查询创建

在这里插入图片描述

create  table 新建表名称
ROW FORMAT DELIMITED FIELDS TERMINATED BY '字段之间分割符'
as
select
需要查的字段
from
需要查的表名

三.like 创建类似表(需要一张需要被复制的表:表结构相同,没有数据)

在这里插入图片描述

create  table 新建表名称 like 目标表名称
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hive创建表可以使用CREATE TABLE语句,具体语法如下: ``` CREATE [TEMPORARY] [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name data_type [column_constraint_specification] [COMMENT col_comment], ...)] [COMMENT table_comment] [PARTITIONED BY (col_name data_type [COMMENT col_comment], ...)] [CLUSTERED BY (col_name, col_name, ...) [SORTED BY (col_name [ASC|DESC]), ...]] [INTO num_buckets BUCKETS] [ROW FORMAT row_format] [STORED AS file_format] [LOCATION hdfs_path] [TBLPROPERTIES (property_name=property_value, ...)] ``` 其,方括号内的内容为可选项,具体解释如下: - TEMPORARY:表示创建的是临时表,该表在当前会话结束时会被删除。 - EXTERNAL:表示创建的是外部表,即表的数据存储在Hive之外,例如HDFS上的文件。 - IF NOT EXISTS:表示如果表已经存在,则不会重新创建。 - table_name:表示要创建的表的名称。 - col_name:表示表的列名。 - data_type:表示表的列的数据类型。 - column_constraint_specification:表示列的约束条件,例如NOT NULL、UNIQUE等。 - COMMENT:表示对表或列的注释。 - PARTITIONED BY:表示按照哪些列进行分区。 - CLUSTERED BY:表示按照哪些列进行聚集。 - SORTED BY:表示按照哪些列进行排序。 - INTO num_buckets BUCKETS:表示将表分成多少个桶。 - row_format:表示行的格式,例如DELIMITED、SERDE等。 - file_format:表示文件的格式,例如TEXTFILE、SEQUENCEFILE等。 - hdfs_path:表示表的数据存储路径。 - TBLPROPERTIES:表示表的属性,例如表的压缩方式、表的存储格式等。 例如,创建一个名为test的表,包含id和name两列,数据类型分别为int和string,存储在HDFS的/user/hive/warehouse/test目录下,可以使用以下语句: ``` CREATE TABLE IF NOT EXISTS test ( id INT, name STRING ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE LOCATION '/user/hive/warehouse/test'; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值