基操
- 在传统的数据库语言有四大功能:DDL,DML,DCL,TCL。
Data Definition Language,数据库定义语言。用于定义SQL模式、基本表、视图和索引的创建和撤消操作。
Data Manipulation Language,数据操纵语言。数据操纵分成数据查询和数据更新两类。数据更新又分成插入、删除、和修改三种操作。
Data Control Language,数据库控制语言。 授权,角色控制等。
Transaction Control Language,事务控制语言。设置保存点,回滚。
Hive
启动
先启动Hadoop
从安装目录下bin/ 启动 hive 脚本
会发现
成功启动
新鲜东西
- 在hive中创建的数据库存储在HDFS里面默认目录为/user/hive/warehouses 目录下
- hive里面的字符串类型是string
- 所创建的表也是HDFS里的一个目录节点
- 以前hive继承了HDFS的不能修改和删除,因此已经插入的内容不能再做任何改动。hadoop2.0版本添加了支持数据的追加,实际上Insert into语句也是在执行追加操作;
- Hive 支持查询,行级别的插入。不知处刚级别的删除和修改。
基本命令“DML”
创建表
-
create table city(id int…) *row format delimited fields terminated by ’ ,’ *;
- 表一旦创建格式固定
- row format delimited fields terminated by ’ ’ 是指定字段之间的间隔符
-
insert into :插入数据
- 会发现执行效率很低,因为底层转化为MapReduce来执行,最后Hdfs目录下回多一个文件;
-
load data local inpath ‘/home/software/city.txt’ into table city;
- 通过加载本地文件来添加到指定的表里,执行效率较高,HDFS同样会多出一个文件city。
- 亦可以将Hdfs中的文件整合到Hive的表中进行管理。
-
from stu insert overwrite table stu1 select * insert overwrite table stu2 select *;
- 可以直接将查询的数据写到不同表中HDFS的目录下
-
insert overwriter local dirrectory ‘/home/stu’ row format delimited fields terminited by ‘,’ select * from stu [where ];
- 将查询的表内容直接写到本地指定目录 overwriter 会直接覆盖该目录。
-
like 复制表
- create table stu2 like stu -
“DDL”命令
-
alter table stu rename to stu2
-
alter table stu add cloumns (age int );