第十一次课
Hive中的3个复杂类型:
array数组 map键值对 struct结构体
DDL数据定义,用于创建数据库,表,视图,索引等内容
创建一个数据库,数据库在HDFS上的默认存储路径是/user/hive/warehouse/*.do
create database db_hive;
判断数据库是否存在:
create database if not exists db_hive;
创建一个数据库,指定数据库在HDFS上存放的位置
create database db_hive2 location '/db_hive2.db';一定要写.db
模糊查询数据库:
show databases like 'db*';
显示数据库的详细信息:
desc database (extended) db_hive2;
修改数据库的信息,数据库名和路径不能修改:
alter database db_hive2 set dbproperties('createtime'='20170830');
删除数据库:
drop database if exists db_hive;
删除有表的数据库:
drop database db_hive2 cascade;
通过desc formatted 表名 可以查看是内部表还是外部表,通过Table Type属性能够看到
managed_table代表内部表,是默认方式创建的,通过指定表的路径,表的元数据和数据都会在
指定路径下,删除表是表的元数据和数据都会被删除。
external_table 代表外部表,通过create external table方式创建,元数据和数据不在一个路径下,删除表时元数据被删除,数据不会被删除。
将内部表修改为外部表alter table student2 set tblproperties('EXTERNAL'='TRUE');
将外部表修改为内部表alter table student2 set tblproperties('EXTERNAL'='FALSE');