DDL :
database
create drop alter Use
Table Create
Create Table As Select(CTAS)
Hive:三种类型表
1、临时表:Temporary
跟Hive的生命周期一致,Hive Client关闭退出,表也一起删除了;临时表的优先级比其他表高,当临时表与其他表名一致时,我们操作的是临时表,当我们把临时表Drop掉,或者Alter,我们才可以操作其他表。
2、外部表:External
只管理元数据,Drop表的时候,只删除元数据,HDFS上的数据,不会被删除,需要制定Location。
3、内部表:没有修饰词
全部管理,元数据和HDFS上的数据,删除就都没了。
注:没事别删除数据!
ROW FORMAT
原始数据,用什么样的格式,加载到我们Hive表
加载到我们表里的数据,原始数据不会变
PARTITIONED BY
对我们数据进行分区
STORED AS
数据存储的文件格式
LOCATION
存放在HDFS上目录的位置
Drop
Truncate
DML:
Load
LOCAL本地
local和inpath组合,决定从hdfs上读取数据,还是从客户端位置读取数据,
我们加载数据的时候,实际是把一个数据文件,移动到Hive warehouse目录下面,表名的这个目录
HDFS上,直接就挪过去了
Local是上传到临时目录,然后再移动到相应的位置
OVERWRITE
是否覆盖原有数据
如果不覆盖原有数据的话,把 原有数据,复制到hive数据目录下,就会重复了xxx_copy
PARTITION
分区,根据partition(gender='male',age='35')
INSERT
into Hive tables from queries
into directories from queries
into Hive tables from SQL
在本地linux系统上的文件要加上local这个关键词
如果是hdfs上的文件,直接写filepath;
两种方式启动:HOW to Start
$HIVE_HOME/bin/hiveserver2
$HIVE_HOME/bin/hive --service hiveserver2
写一个JDBC的程序,连接Hive,操作Hive里面的表