Hive系列三 HQL操作

一,DDL命令

DDL data definition language ): 主要的命令有 CREATE ALTER DROP 等。
DDL 主要是用在定义、修改数据库对象的结构 或 数据类型。
1.数据库操作
创建数据库语法
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name 
[COMMENT database_comment] [LOCATION hdfs_path] [MANAGEDLOCATION hdfs_path] 
[WITH DBPROPERTIES (property_name=property_value, ...)];
create database if not exists mydb1 comment 'create mydb1' location 'hdfs_path'
-- 查看所有数据库
show database;

-- 查看数据库信息
desc database mydb2; 
desc database extended mydb2; 
describe database extended mydb2;

--使用数据库
use mydb;

--删除数据库
-- 删除一个空数据库 
drop database databasename; 
-- 如果数据库不为空,使用 cascade 强制删除 
drop database databasename cascade;

2.表操作

--创建表的语法
create [external] table [IF NOT EXISTS] table_name [(colName colType [comment 'comment'], ...)] 
[comment table_comment] 
[partition by (colName colType [comment col_comment], ...)] [clustered BY (colName, colName, ...)
 [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, ...)] [AS select_statement];

--存储子句。
ROW FORMAT DELIMITED [FIELDS TERMINATED BY char] [COLLECTION ITEMS TERMINATED BY char]
 [MAP KEYS TERMINATED BY char] [LINES TERMINATED BY char] | SERDE serde_name 
[WITH SERDEPROPERTIES (property_name=property_value, property_name=property_value, ...)]

 

SerDe是 Serialize/Deserilize 的简称, hive使用Serde进行行对象的序列与反序列化。
文件格式(后续详细介绍)
stored as SEQUENCEFILE|TEXTFILE|RCFILE 。如果文件数据是纯文本,可以使用 STORED AS TEXTFILE (缺省);如果数据需要压缩,使用 STORED AS SEQUENCEFILE(二进制序列文件)。
AS。后面可以接查询语句,表示根据后面的查询结果创建表
LIKElike 表名,允许用户复制现有的表结构,但是不复制数据
 
内部表 & 外部表:

注意:EXTERNAL

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值