Hive练习:

环境准备:jdk、hadoop并配置、下载安装并解压hive

使用时先启动hadoop的hdfs和yarn集群、然后在hive/bin下执行hive

hive命令案例练习

Hive基础指令练习:显示数据库,使用数据库,显示表。

hive命令案例练习

创建数据库gh,使用gh,创建stu表;

hive命令案例练习

向stu中插入数据并查看:

hive命令案例练习

先在/root/下创建aa.txt并提前写入数据,然后执行如下:

通过加载当前文件系统中的文件数据到表中:

出现null的原因是外部导入格式不同

hive命令案例练习

删除重新创建stu表并指定其分割符为空格,并将aa.txt写入并查看:

此处测试失误,将stu2改成stu即可,写入数据按照上图方式写入,忽略第二条命令:

hive命令案例练习

hive命令案例练习

创建一张表结构和stu相同的表,并将stu上数据插入到新建表:

hive命令案例练习

hive命令案例练习

将stu3改名为stu2

hive命令案例练习

分区表演示

创建分区表book:

hive命令案例练习

在Linux系统中创建出两个文件如下:

hive命令案例练习 hive命令案例练习

将数据以分区的方式插入book表中:

hive命令案例练习

可看到hdfs上book表的变化:

hive命令案例练习

使用分区方式查看:

hive命令案例练习

以目录的方式添加分区:

  1. 在Linux中创建一个文件:

hive命令案例练习

  1. 在hdfs上创建分区目录category=dn并把dnbook.txt传入:

hive命令案例练习

在hdfs上可以看到:

hive命令案例练习

这时候只是上传了文件,要想通过hive管理使用分区,执行如图:select查看book表如图:

hive命令案例练习

分区+外部表案例

在hdfs上创建目录并传入文本文件,使用hive最终可以查看到所有数据:

  1. 在hdfs上创建data目录,在data下创建两个子目录作为分区文件:rtime=05-13、rtime=05-14

hive命令案例练习

  1. 向两个子目录中分别传入文件1.txt,2.txt 文件内容如下:

hive命令案例练习 hive命令案例练习

hive命令案例练习

在hdfs上我们可以看到:

hive命令案例练习

  1. 接下来在hive中创建表,并给该表添加分区数据:

hive命令案例练习

图中先创建外部表分区表t1,然后将hdfs上分区数据写入,最后查看数据。

 

 

Hive数据类型:

数组:

  1. 准备如数据上传到hdfs的/hive/ex目录下

hive命令案例练习

  1. 执行如下命令创建表,指定类型数组:

hive命令案例练习

  1. 可通过类似Java的访问数组方式访问数据:

hive命令案例练习

Map:

准备数据:

hive命令案例练习

创建表并上传数据(此处我使用的是本地导入):

hive命令案例练习

使用以下方式查询zhangsan年龄:

hive命令案例练习

Struct:

数据仍使用

hive命令案例练习

创建struct数据类型的表:

hive命令案例练习

查询(类似Java对象的使用方法):查询s1所有name、age,查询age=31的名字:

hive命令案例练习

 

 

相关文章:

  • 2021-07-08
  • 2022-12-23
  • 2021-11-21
  • 2021-09-18
  • 2021-04-09
  • 2021-05-30
  • 2021-08-18
猜你喜欢
  • 2022-12-23
  • 2021-09-18
  • 2021-06-14
  • 2021-10-31
  • 2022-03-11
  • 2022-12-23
相关资源
相似解决方案