3-Hive 的基本操作

3. Hive 的基本操作

###3.1 数据库操作

####3.1.1 创建数据库

create database if not exists myhive;
use  myhive;

说明:hive的表存放位置模式是由hive-site.xml当中的一个属性指定的

<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>

####3.1.2 创建数据库并指定位置

create database myhive2 location '/myhive2';

####3.1.3 设置数据库键值对信息

数据库可以有一些描述性的键值对信息,在创建时添加:

create database foo with dbproperties ('owner'='itcast', 'date'='20190120');

查看数据库的键值对信息:

describe database extended foo;

修改数据库的键值对信息:

alter database foo set dbproperties ('owner'='itheima');

####3.1.4 查看数据库更多详细信息

desc database extended  myhive2;

####3.1.5 删除数据库

删除一个空数据库,如果数据库下面有数据表,那么就会报错

drop  database  myhive2;

强制删除数据库,包含数据库下面的表一起删除

drop  database  myhive  cascade;   

3.2 数据库表操作

####3.2.1 创建表的语法:

create [external] table [if not exists] table_name (
col_name data_type [comment '字段描述信息']
col_name data_type [comment '字段描述信息'])
[comment '表的描述信息']
[partitioned by (col_name data_type,...)]
[clustered by (col_name,col_name,...)]
[sorted by (col_name [asc|desc],...) into num_buckets buckets]
[row format row_format]
[storted as ....]
[location '指定表的路径']

说明:

  1. create table

创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;用户可以用 IF NOT EXISTS 选项来忽略这个异常。

  1. external

可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION),Hive 创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。

  1. comment

表示注释,默认不能使用中文

  1. partitioned by

表示使用表分区,一个表可以拥有一个或者多个分区,每一个分区单独存在一个目录下 .

  1. clustered by
    对于每一个表分文件, Hive可以进一步组织成桶,也就是说桶是更为细粒度的数据范围划分。Hive也是 针对某一列进行桶的组织。

  2. sorted by

    指定排序字段和排序规则

  3. row format

​ 指定表文件字段分隔符

  1. storted as指定表文件的存储格式, 常用格式:SEQUENCEFILE, TEXTFILE, RCFILE,如果文件数据是纯文本,可以使用 STORED AS TEXTFILE。如果数据需要压缩,使用 storted as SEQUENCEFILE。

  2. location

指定表文件的存储路径

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值