Hive的DDL

DDL: Data Definition Language
create delete drop alter 关键字开头的

在这里插入图片描述

  1. Database
    HDFS上的一个文件夹
    默认自带一个default数据库
    默认数据库存放位置:/user/hive/warehouse
    位置是由参数决定的:hive.metastore.warehouse.dir
    在Hive里面查看指定配置参数的语法:
    set key;
    你要设置参数: set key=value;
    在这里插入图片描述
    在这里插入图片描述

2.创建数据库
模版: CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name
[COMMENT database_comment]
[LOCATION hdfs_path]
[WITH DBPROPERTIES (property_name=property_value, …)];

例子: CREATE DATABASE IF NOT EXISTS d5_hive_2
COMMENT ‘this is ruozedata d5’
WITH DBPROPERTIES (‘creator’=‘ruoze’, ‘date’=‘20181020’);
在这里插入图片描述
看一个数据库的内容desc database extended d5_hive_2;
在这里插入图片描述

简单的创建一个数据库
create database d5_hive;
create database if not exists d5_hive;(不会创建重复的数据库)即有了就不会创建,没有才创建,比较完备
在这里插入图片描述
非default的存放路径:${hive.metastore.warehouse.dir}/dbname.db

default是系统默认的一个数据库
在这里插入图片描述

模糊匹配
有三个数据库
在这里插入图片描述
show databases like ‘d5*’;
在这里插入图片描述

切库
在这里插入图片描述

3.修改数据库
模版:ALTER (DATABASE|SCHEMA) database_name SET DBPROPERTIES (property_name=property_value, …); – (Note: SCHEMA added in Hive 0.14.0)

ALTER (DATABASE|SCHEMA) database_name SET OWNER [USER|ROLE] user_or_role; – (Note: Hive 0.13.0 and later; SCHEMA added in Hive 0.14.0)

ALTER (DATABASE|SCHEMA) database_name SET LOCATION hdfs_path; – (Note: Hive 2.2.1, 2.4.0 and later)

例子:alter database d5_hive_2 set dbproperties (‘edited-by’=‘jepson’);
在这里插入图片描述

删除数据库
drop database d5_hive_2;
drop database if exists d5_hive_2;(比较完备)
删除一个空的数据库
在这里插入图片描述
但是一个数据库里有表,表里有分区,上面的操作就不行了
drop database d5_hive_2 cascade;
注意,cascade慎用
cascade: hibernate/jpa
1对多的时候,你删除1的一端是否删除多的一端


数值类型:int bigint float double
字符串: string

Hive构建在Hadoop之上
hive创建表,然后数据是存储在HDFS之上
文件:zhangsan,20,m,beijing
表: name age gender location

所以创建表的时候要指定分隔符(默认分隔符是\001 ^A)
空格、制表符(\t)

创建表
模版:
CREATE TABLE table_name (
col_name data_type,
col_name data_type,
col_name data_type

)
row format delimited fields terminated by ‘\t’
;

例子:
CREATE TABLE ruoze_emp (
empno int,
ename string,
job string,
mgr int,
hiredate string,
sal double,
comm double,
deptno int
)
row format delimited fields terminated by ‘\t’
;
在这里插入图片描述
在这里插入图片描述

看表结构(内容)
desc ruoze_emp;
在这里插入图片描述
看表的详细内容
desc formatted ruoze_emp;
在这里插入图片描述
在这里插入图片描述

创建一张新的表,只要表的表结构不要数据
在这里插入图片描述

创建一张新的表,要表结构和表数据
create table ruoze_emp3 as select *from ruoze_emp;
在这里插入图片描述

在这里插入图片描述

补充:导数据(DML内容)
load data local inpath ‘/home/hadoop/data/emp.txt’ overwrite into table ruoze_emp;(从本地导数据(linux))
load data inpath ‘/home/hadoop/data/emp.txt’ overwrite into table ruoze_emp;(表示从hdfs上导数据。注意:并且只能导一次,相当于mv.(移动))
在这里插入图片描述

在这里插入图片描述

修改表
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
#补充
1在hive中把数据用sql语句导到本地
INSERT OVERWRITE LOCAL DIRECTORY ‘/tmp/ruoze’
ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t’
SELECT empno,ename FROM ruoze _emp;

2导到hdfs
INSERT OVERWRITE DIRECTORY ‘/tmp/ruoze’
ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘\t’
SELECT empno,ename FROM ruoze _emp;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值