前言
hive中操作hdfs上的数据可以像操作mysql数据库一样方便轻松,避免编写mapreduce程序,又提高了数据分析查询的速度和效率,下面就来总结一下自己前些天学的表的DDL 其实和mysql差不多 但是有一点需要注意,hive是读检查,写不检查,也就是是hive在你查询的时候才验证数据的有效性,加载数据时不检查,直接加载,这样的好处是加快了处理数据的速度,如果数据量很大,加载是检查会严重拖慢速度
Hive数据类型
- string int double timestamp时间
- struct map array
数据库
:create database db1 location '/path' comment '描述'
location代表指定数据库在dfs上的位置,其实就是创建了一个文件夹,不加也可以 用默认的位置
alert database db1 set xxx
更改数据库
drop database db1 CASCADE
删除数据库包括里面的表
show databases like 正则表达式
列出数据库
表
表分为内部表(受控表) 、外部表、临时表(创建时加TEMPORARY即可,退出客户端表即消失)。
外部表drop的时候只删除结构 不删除数据 并且可以指定表的目录(其实也就是数据的存放目录),可以用来备份数据