IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Hive数据库操作 -> 正文阅读

[大数据]Hive数据库操作

1、查看数据库

2、创建数据库,db_hive为数据库名;

显示创建后的数据库

?创建数据库db_hive2,并指定在HDFS上的存储位置:

location 指定数据库在HDFS中的地址,不指定时默认使用数据仓库地址。

?上述命令执行成功后,若HDFS目录/HBase/data/hbase目录中不存在db_hive2则会自动创建。

创建db_hive,并添加注释“hive database”:

commect 添加注释:

创建数据库db_hive,并定于相关属性

with dbproperties 指定数据库的属性信息,属性名与属性值均可以自己定义

3、修改数据库

修改数据库的自定义属性 :

创建testdb数据库,然后使用desc命令查看testdb的数据库默认描述信息

执行命令给testdb添加自定义属性createtime:

?

修改数据库所有者:

修改数据库testdb的所有者用户为root1,

此时查看数据库testdb的描述信息,发现所有者用户变为了root1:

?4、选择数据库

选择一个数据库作为后续的HIVEQL的执行数据库,

?hive中默认了一个数据库default,切换为默认命令;

5、删除数据库

?删除数据库testdb,若数据库中无表数据则删除成功,若数据库中有表数据则抛出异常

删除数据库testdb,无论数据库中是否如有表数据都将强制删除;

?6、显示数据库

?

过滤显示数据库前缀为db_hive的所有数据库

?查看当前所使用的数据库

?

HIVE表操作?

?hive表由实际存储的数据和元数据组成,实际数据一般存储与HDFS中,元数据一般存储与关系型数据库中;

内部表

1、创建表,使用数据库test_db:

?创建student表,其中字段id为整型,字段name为字符串:

然后查看数据仓库目录生成的文件,可以看到数据仓库目录中的test_db文件夹下有一个名为student的文件夹

2、查看表结构

显示详细表结构,包括表的类型以及在数据仓库的位置信息:

3、向表中插入数据

?

?4、查询表中数据

5、将本地文件导入hive?

新建学生分数表score,其中学号sno为整型,姓名name为字符串,得分为score为整型,并指定tab键作为字段分隔符:

在本地目录/home中新建score.txt文件。并写入以下内容,列之间用tab键隔开:

查询表的所有数据

?

?查看数据仓库对应的数据文件

6、删除表

?

外部表?

?1、创建外部表时,如果不指定location关键字,则默认将表创建于数据仓库目录中:

在数据库test_db中创建外部表emp:?

?

?上述可以看到生成了一个文件夹emp,不用的文件可以删除,可以很清晰的保留需要的文件?

?创建外部表时,如果指定location关键字,则将表创建于指定的HDFS位置:

在数据库test_db中创建外部表emp2,并指定在HDFS中的存储目录为/HBase/data,表字段分隔符为Tab键:

在本地目录/home/hadoop下创建文件emp.txt,并将文件导入表emp2.

查看HDFS目录/input/hive中生成的文件

?

查看导入的文件内容

?

查看表emp2的数据

?

删除表时不会删除实际数据,但元数据会被删除

?在数据库test_db中创建外部表emp3,并指定表数据所在的hdfs中的存储目录为

/HBase/data?

?

?查询emp3的所有数据

分区表?

将student表的年龄age和性别列gender同时指定为分区列:

?加载数据命令:

创建分区表

在数据库testa_db中创建分区表student2,表student包含四列,将年龄作为分区列:

?

?导入数据,并指定分区值为age=17

查看HDFS数据仓库中表student目录中的文件,发生生成了一个名为age=17的文件夹,且文件fiel1.txt也导入发哦了该文件夹中,?

?

?查询分区表数据

?

使用关键字union关键字将多个分区联合查询

删除分区

?

同时删除多个分区

?

?查看分区

分桶表?

一个分区会存储一个目录,数据文件存储在目录中,一个分桶存储一个文件,数据内容存储在该文件中

1、分桶操作

查看表user_info的描述信息

?

?2、向分桶表中导入数据

发现上述错误,Hive默认不支持通过load命令导入数据到分桶表,可以通过中间表导入,先将数据导入一张中间表中,然后通过insert ....select的方式,将普通表的数据导入到分桶表:

创建一张中间表

?

?向中间表中导入数据

向中间表的数据导入到分桶表

?

?

?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-23 12:34:35  更:2021-10-23 12:34:41 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 3:19:19-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码