hive数据库与表的创建

数据库的创建与销毁

//创建数据库并指定数据存储的位置,如果路径之前不存在,会在创建数据库的时候自动创建目录。
//默认的位置在hive-site.xml中进行配置
create database if not exists bhive
location '/user/hive/warehouse/bhive.db';

创建数据库的同时,对应到hdfs文件系统中,将会是在指定的的目录下创建一个和数据库名称相同的目录。

hive数据库表创建的三种方式

(1)方式一

create table IF NOT EXISTS bhive.people
(
    id string COMMENT 'student id',         //字段描述
    name string ,
    sex string
)
COMMENT 'student table'     //表的描述
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '       //从文件中将数据导入数据表的时候,文件中的数据每行各个字段之间的分隔符
STORED AS TEXTFILE      //从文件中获取数据时,指定文件所属的类型(默认是文本文件,企业开发一般使用ORC和PARQUET)
LOCATION /user/hive/warehouse/bhive/people;     //指定数据表在hdfs文件系统中的存储的位置

(2)方式二

//这种数据表的创建方式会指定查询语句。将查询语句的查询字段作为表的字段,将查询的结果直接存放在表中。
create table IF NOT EXISTS bhive.student
AS select id, name from bhive.people;

(3)方式三

创建一张和指定表的结构完全相同的表。
create table IF NOT EXISTS bhive.peoplelike
like  bhive.people;

创建表的同时,对应到hdfs文件系统中将时在相应的数据库目录下创建一个和表相同名称的目录。也可以通过location指定相应的目录。
后面将会讲到文件的加载,文件的加载就是将相应的文件上传到hdfs文件系统的对应的表对应的目录下即可。所以可以这样理解:如果在创建表的时候指定的目录下数据已经存在,则数据会直接加载。

你可能感兴趣的:(Hive)