hive根据已有表创建新表_HiveQL(一):数据库及创建表

本文介绍了HiveQL中的数据库概念,包括数据库的作用、创建、定位和描述。此外,还详细讲解了如何使用Hive创建表,包括表的定义、存储位置、属性设置等,并给出了创建表的示例。
摘要由CSDN通过智能技术生成

HiveQL是Hive查询语言。和普遍使用的所有SQL方言一样,它不完全遵守任一种ANSISQL标准的修订版。HiveQL可能和MySQL的方言最接近,但是两者还是存在显著性差异的。Hive不支持行级插入操作、更新操作和删除操作。Hive也不支持事务。当然了,大部分的HiveQL还是很常见的。本篇首先介绍Hive中的数据库概念以及操作细节。

1 Hive中的数据库

hive中数据库的概念本质上仅仅是表的一个目录或者命名空间。然而,对于具有很多组和用户的大集群来说,这是非常有用的,因为这样可以避免表命名冲突。通常会使用数据库来将生产表组织成逻辑组。

如果用户没有显式指定数据库,那么将会使用默认的数据库default

通过下面语句创建一个数据库:

hive> CREATE DATABASE IF NOT EXISTS financials;

hive会为每个数据库创建一个目录。数据库中的表将会以这个数据库目录的子目录形式存储。但有一个例外就是default数据库中的表,因为这个数据库本身没有自己的目录。数据库所在的目录位于属性hive.metastore.warehouse.dir所指定的顶层目录之后,假设配置项的值是/hive/warehouse,那么当我们创建数据库financials时,hive将会对应地创建一个目录/hive/warehouse/financials.db。这里请注意,数据库的文件目录名是以.db结尾的。

上图除了红框处的其他目录都是默认数据库default里的表目录

我们可以通过如下的命令来修改这个默认的位置:

hive> CREATE DATABASE IF NOT EXISTS financials

> LOCATION '/user';

还可以为这个数据库增加一个描述信息,这样通过DESCRIBE DATABASE 命令就可以查看到该信息:

hive> CREATE DATABASE financials

> COMMENT 'Holds all financial tables';

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值