Hive基本操作

1. Hive常用命令

1.1 Hive启动

先启动hadoop集群,再启动hive

start-all.sh
hive

1.2 Hive退出

quit;

1.3 Hive查看历史命令

linux环境下进入家目录,查看. hivehistory文件

cd ~
cat .hivehistory

1.4 Hive常用交互命令

不进入hive交互窗口也可用以下命令执行SQL语句

①不进入hive交互窗口执行SQL语句

hive -e 'select * from orders limit 5;'

②不进入hive交互窗口保存SQL语句的文件

[root@master ~]# vim orders.txt
[root@master ~]# hive -f ./orders.txt

2. 数据库基本操作

2.1 创建数据库

create database 库名;

2.2 创建数据库并指定hdfs存储位置

create database 库名 location '/test';

2.3 删除空数据库

drop database 库名;

注:使用该命令删除只能删除空数据库,如果数据库下面有数据表,就会报错!

2.4 强制删除非空数据库

drop database 库名 cascade;

2.5 查看所有数据库

show databases;

2.6 查看数据相关信息

desc database 库名;			//查看库基本信息
desc database extended 库名;	//查看库详细信息

2.7 数据库切换

use 库名;

2.8 修改数据库

数据库的元数据信息是不可更改的,包括数据库的名称以及数据库所在的位置,即 desc展示的数据是不可更改的。但可以使用alter database 命令来修改数据库的一些属性。修改数据库也就是添加数据库的属性,并且这个些属性只能通过extended查看。

alter database 库名 set dbproperties('createtime'='20210206');
desc database extended 库名;	//查看修改信息

3. 数据表基本操作

3.1 创建表

3.1.1 创建表的方式

  • 直接建表法

    create table tableName(字段名称 字段类型 [comment '中文注释说明'],字段名称 字段类型, ....)
    row format delimited fields terminated by 'char分割符即列分割符'
    lines terminated by '行分割符';
    

    – [comment ‘中文注释说明’] 添加中文注释说明,可选项
    – [row format delimited fields terminated by ‘char分割符即列分割符’] // 设置字段分隔符,通常为空格、逗号、制表符\t
    – [lines terminated by ‘行分割符’] // 设置行分隔符,一般为\n, 一般默认不写这一句
    – 字段分割符、行分割符选择是由你将上传到这个表的数据格式决定的
    – 应用场景:直接进行 字段类型,字段备注,数据存储格式的自定义

  • 抽取建标法(as)

    create table new_table_name as  select *  from table_name;
    

    应用场景:中间逻辑处理的时候进行建表,直接复制表的数据和结构,也就是建立一张临时表,方便以后的使用

  • like建标法

    create table table_name_like like table_name
    

    应用场景:只关注表结构,不需要数据

3.1.2 创建内部表

create table tableName(字段名称 字段类型,字段名称 字段类型, ....)
row format delimited fields terminated by 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Hive是一个基于Hadoop的数据仓库工具,用于进行大规模数据分析和查询。下面是Hive的一些基本操作命令: 1. 使用命令`show databases;`可以查看当前所有的数据库。 2. 使用命令`CREATE DATABASE park;`可以创建一个名为park的数据库。实际上,创建数据库相当于在Hadoop的HDFS文件系统中创建了一个目录节点,统一存在`/usr/hive/warehouse`目录下。 3. 使用命令`USE park;`可以进入park数据库。 4. 使用命令`show tables;`可以查看当前数据库下的所有表。 5. 使用命令`CREATE TABLE stu (id INT, name STRING);`可以创建一个名为stu的表,其中包含id和name两个字段。在Hive中,使用的是STRING类型来表示字符,而不是CHAR或VARCHAR类型。所创建的表实际上也是HDFS中的一个目录节点。默认情况下,所有在default数据库下创建的表都直接存在`/usr/hive/warehouse`目录下。 6. 使用命令`INSERT INTO TABLE stu VALUES (1, 'John');`可以向stu表中插入数据。HDFS不支持数据的修改和删除,但在Hive 2.0版本后开始支持数据的追加,可以使用`INSERT INTO`语句执行追加操作。Hive支持查询和行级别的插入,但不支持行级别的删除和修改。实际上,Hive的操作是通过执行MapReduce任务来完成的。插入数据后,我们可以在HDFS的stu目录下发现多了一个文件,其中存储了插入的数据。因此,可以得出结论:Hive存储的数据是通过HDFS的文件来存储的。 7. 使用命令`SELECT id FROM stu;`可以查询stu表中的数据,并只返回id字段的值。 需要注意的是,如果想在HDFS目录下自己创建一个分区,并在该分区下上传文件,需要执行一些额外的操作。首先,手动创建的分区在Hive中是无法使用的,因为原数据库中没有记录该分区的信息。要让自己创建的分区被识别,需要执行命令`ALTER TABLE book ADD PARTITION (category = 'jp') LOCATION '/user/hive/warehouse/park.db/book/category=jp';`。这条命令的作用是在原数据表book中创建对应的分区信息。另外,还可以使用命令`ALTER TABLE book****** 'nn');`来修改分区。 希望以上信息能对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值