Hive总结

文章目录

  • 1. 概念
  • 2. Hive与Hadoop的关系
  • 3. Hive中的命令
    • 3.1 创建数据库并指定hdfs存储位置
    • 3.2 修改数据库
    • 3.3 查看数据库信息
    • 3.4 创建表并指定字段之间的分隔符
  • 4. Hive中的四种表结构
    • 4.1 内部表
    • 4.2 外部表
    • 4.3 分区表
    • 4.4 分桶表

1. 概念

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能(HQL).
其本质是将SQL转换为MapReduce的任务进行运算,底层由HDFS来提供数据的存储,说白了hive可以理解为一个将SQL转换为MapReduce的任务的工具,甚至更进一步可以说hive就是一个MapReduce的客户端.

2. Hive与Hadoop的关系

Hive利用HDFS存储数据,利用MapReduce查询分析数据.
运行步骤:
1.客户端发出SQL
2.Hive处理,转换成MapReduce
3.提交任务到Hadoop
4.MapReduce运行

3. Hive中的命令

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

create database myhive2 location ‘/myhive2’;

3.2 修改数据库

可以使用alter database 命令来修改数据库的一些属性。但是数据库的元数据信息是不可更改的,包括数据库的名称以及数据库所在的位置
alter database myhive2 set dbproperties(‘createtime’=‘20210611’);

3.3 查看数据库信息

查看基本信息:
desc database myhive2;
查看详细信息:
desc database extended myhive2;

3.4 创建表并指定字段之间的分隔符

create table if not exists stu2(id int ,name string) row format delimited fields terminated by ‘\t’ stored as textfile location ‘/user/stu2’;

4. Hive中的四种表结构

4.1 内部表

删除表同时会删除HDFS上的数据

4.2 外部表

删除表HDFS上的数据保留(测试发现删除所在库数据会没)

4.3 分区表

按条件将数据放在HDFS上的不同目录中

4.4 分桶表

先创建普通表,然后依据普通表创建分桶表,分桶表主要用来采样.分桶表实质就是把HDFS上存储的某文件分成多份另外存储.

你可能感兴趣的:(大数据,hive,hadoop,mapreduce)