初学HIVE(三)——基础应用

一、数据库操作语句

操作内容操作语句说明
创建1create database my_hive;HDFS上的默认存储路径是/user/hive/warehouse/*.db
创建2create database if not exists my_hive;避免该库已存在导致建库报错
创建3create database my_hive location ‘/settment.db’;指定创建数据库在HDFS的位置
查看1show databases;
查看2show databases like ‘my*’;
显示1desc database my_hive;
显示2desc database extended my_hive;显示详细信息
切换数据库use my_hive;
修改属性alter database my_hive set dbproperties(‘createtime’=‘20200807’);
删除1drop database my_hive;
drop database if exists my_hive;
删除空数据库
删除2drop database my_hive cascade;强制删除非空数据库

二、表操作语句

1、建表

(1)建表语句举例:

在这里插入图片描述

(2)关键字解释:
  • CREATE TABLE 创建一个指定名字的表。如果相同名字的表已经存在,则抛出异常;可以用 IF NOT EXISTS 选项来忽略这个异常。
  • EXTERNAL关键字可以让用户创建一个外部表,在建表的同时指定一个指向实际数据的路径(LOCATION)。
  • COMMENT可以为表和列添加注释。
  • PARTITIONED BY创建分区表。
  • CLUSTERED BY创建分桶表。
  • SORTED BY确定文件存储为如txt或其他格式。
  • ROW FORMAT DELIMITED FIELDS TERMINATED BY char使列按指定字符分隔。
  • COLLECTION ITEMS TERMINATED BY char指定集合分隔符。
  • MAP KEYS TERMINATED BY char指定MAP中键与值的分隔符。
  • LINES TERMINATED BY char指定行分隔符。
  • | SERDE serde_name [WITH SERDEPROPERTIES (property_name=property_value, property_name=property_value, …)]
    用户在建表的时候可以自定义SerDe或者使用自带的SerDe。如果没有指定ROW FORMAT 或者ROW FORMAT DELIMITED,将会使用自带的SerDe。在建表的时候,用户还需要为表指定列,用户在指定表的列的同时也会指定自定义的SerDe,Hive通过SerDe确定表的具体的列的数据。
    SerDe是Serialize/Deserilize的简称,目的是用于序列化和反序列化。
    (8)STORED AS指定存储文件类型
    常用的存储文件类型:SEQUENCEFILE(二进制序列文件)、TEXTFILE(文本)、RCFILE(列式存储格式文件)
    如果文件数据是纯文本,可以使用STORED AS TEXTFILE。如果数据需要压缩,使用 STORED AS SEQUENCEFILE。
    (9)LOCATION :指定表在HDFS上的存储位置。
    (10)LIKE允许用户复制现有的表结构,但是不复制数据。

Hive创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变。在删除表的时候,内部表的元数据和数据会被一起删除,而外部表只删除元数据,不删除数据。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值