Hive学习笔记(Hive数据的定义与操作)
Hive数据定义与操作
HiveQL数据定义语言
Hive数据仓库中的HiveQL数据定义语言,类似于数据仓库DDL,用来数据仓库中创建数据仓库中创建数据库、数据表等Schema数据模式设计。
创建数据库
Hive的数据库本质上仅仅是表一个目录或者命名空间。创建一个数据库实际上就是在HDFS分布式文件系统中创建一个目录,这个目录将成为创建表的目录或表的NameSpace命名空间,
创建数据库的语法如下:
hive> create database sogou;
如果sogo数据库存在湖抛出一个异常,命令可以修改成
hive> create database if not exists sogou;
show database命令可以查看Hive中所包含的数据库,数据库非常多时时可以使用正则表达式来筛选处所需要的数据库名,操作命令如下:
hive> show database like 's.*';
在实际开发中可以为没个数据库增加描述,以此来说明该数据库的业务含义,coment后面的是数据库的描述,具体命令如下:
hive> create database bank coment 'Internet Banking';
查看数据库详细信息语句:
hive> describe database test;
hdfs://namenode:9000/user/hive/warehouse/test.db是Hive数据库test在分布式数据库的HDFS上创建的一个目录,即/user/hive/warehouse/test.db,数据库test中所有表都会以这个目录的子目录形式储存。
默认情况下,在Hive中创建数据库其目录默认都在/user/hive/warehouse/目录下。
删除数据库
删除数据库的操作命令如下:
hive> drop database sogo; //删除sogo数据库
hive> drop database if exists sogo; //加上if exists防止数据库不存在抛出异常,
Hive数据仓库默认不允许删除一个包含表的数据库,如果我们对其直接进行删除,会抛出异常。我们需要将数据库中的表删除,才能删除数据库,我们可以在后面加上关键字casecade;命令如下:
hive> dro