Hive学习笔记——DDL和DML基础语句

本文详细介绍了Hive中的DDL操作,包括创建简单表、外部表、分区表及Bucket表的方法,并演示了如何通过Hive进行表结构的修改,如添加列、更改表名、增加分区等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.  DDL 操作:数据定义语音

创建简单表

hive> CREATE TABLE pokes (foo INT, bar STRING); 

创建外部表:

CREATE EXTERNAL TABLE page_view(viewTime INT, userid BIGINT,
     page_url STRING, referrer_url STRING,
     ip STRING COMMENT 'IP Address of the User',
     country STRING COMMENT 'country of origination')
COMMENT 'This is the staging page view table'
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\054'
STORED AS TEXTFILE
LOCATION '<hdfs_location>';

建分区表:

CREATE TABLE par_table(viewTime INT, userid BIGINT,
     page_url STRING, referrer_url STRING,
     ip STRING COMMENT 'IP Address of the User')
COMMENT 'This is the page view table'
PARTITIONED BY(date STRING, pos STRING)
ROW FORMAT DELIMITED ‘\t’
   FIELDS TERMINATED BY '\n'
STORED AS SEQUENCEFILE;

建Bucket表

CREATE TABLE par_table(viewTime INT, userid BIGINT,
     page_url STRING, referrer_url STRING,
     ip STRING COMMENT 'IP Address of the User')
COMMENT 'This is the page view table'
PARTITIONED BY(date STRING, pos STRING)
CLUSTERED BY(userid) SORTED BY(viewTime) INTO 32 BUCKETS
ROW FORMAT DELIMITED ‘\t’
   FIELDS TERMINATED BY '\n'
STORED AS SEQUENCEFILE;

创建表并创建索引字段dt:

其实分区字段就更改表名:是索引字段

hive> CREATE TABLE tablename (foo INT, bar STRING) PARTITIONED BY (dt STRING); 

复制一个空表:

CREATE TABLE empty_key_value_store
LIKE key_value_store;

表添加一列 :

hive> ALTER TABLE tablename ADD COLUMNS (new_col INT);

更改表名:

hive> ALTER TABLE oldname RENAME TO newname;
增加分区:
hive> ALTER TABLE table_name ADD [IF NOT EXISTS] partition_spec [ LOCATION 'location1' ] partition_spec [ LOCATION 'location2' ] ...
      partition_spec:
  : PARTITION (partition_col = partition_col_value, partition_col = partiton_col_value, ...)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值