大数据技术基础实验十一:Hive实验——Hive分区

大数据技术基础实验十一:Hive实验——Hive分区

一、前言

在前面一期Hive实验中我们学习了有关Hive创建表查看表以及删除表的基本操作,本期博客我们将来学习有关创建Hive分区表并将本地文件导入到我们划分好的分区内进行操作。

二、实验目的

掌握Hive分区的用法,加深对Hive分区概念的理解,了解Hive表在HDFS的存储目录结构。

三、实验要求

创建一个Hive分区表;根据数据年份创建year=2014和year=2015两个分区;将2015年的数据导入到year=2015的分区;在Hive界面用条件year=2015查询2015年的数据。

四、实验原理

分区(Partition) 对应于数据库中的 分区(Partition) 列的密集索引,但是 Hive 中 分区(Partition) 的组织方式和数据库中的很不相同。在 Hive 中,表中的一个分区(Partition) 对应于表下的一个目录,所有的分区(Partition) 的数据都存储在对应的目录中。例如:pvs 表中包含 ds 和 ctry 两个分区(Partition),则对应于 ds = 20090801, ctry = US 的 HDFS 子目录为:/wh/pvs/ds=20090801/ctry=US;对应于 ds = 20090801, ctry = CA 的 HDFS 子目录为;/wh/pvs/ds=20090801/ctry=CA。

外部表(External Table) 指向已经在 HDFS 中存在的数据,可以创建分区(Partition)。它和 Table 在元数据的组织上是相同的,而实际数据的存储则有较大的差异。

Table 的创建过程和数据加载过程(这两个过程可以在同一个语句中完成),在加载数据的过程中,实际数据会被移动到数据仓库目录中;之后对数据的访问将会直接在数据仓库目录中完成。删除表时,表中的数据和元数据将会被同时删除。

五、实验步骤

1、启动Hadoop集群

因为Hive依赖于MapReduce,所以本实验之前先要启动Hadoop集群,我们在master虚拟机上进入Hadoop安装目录下的sbin文件内启动Hadoop集群:

cd /usr/cstor/hadoop/sbin
./start-all.sh

在这里插入图片描述

在实验启动时Hadoop集群已经启动了,所以不用自己去启动。

2、用命令进入Hive客户端

进入Hive安装目录,用命令进入Hive客户端:

cd /usr/cstor/hive/bin/
hive

在这里插入图片描述

3、通过HQL语句进行实验

进入客户端后,查看Hive数据库,并选择default数据库:

show databases;
use default;

在这里插入图片描述

在命令端创建Hive分区表:

create table parthive (createdate string, value string) partitioned by (year string) row format delimited fields terminated by '\t';

在这里插入图片描述

查看新建的表:

show tables;

在这里插入图片描述

给parthive表创建两个分区:

alter table parthive add partition(year='2014');
alter table parthive add partition(year='2015');

在这里插入图片描述

查看parthive的表结构:

describe parthive;

在这里插入图片描述

向year=2015分区导入本地数据:

load data local inpath '/root/data/12/parthive.txt' into table parthive partition(year='2015');

在这里插入图片描述

根据条件查询year=2015的数据:

select * from parthive t where t.year='2015';

在这里插入图片描述

根据条件统计year=2015的数据:

select count(*) from parthive where year='2015';

在这里插入图片描述

六、最后我想说

本期实验就到这里结束了,Hive实验也结束了,学校大数据平台上面基本都是基础知识,后面我会继续更新有关大数据组件的实验,然后再更新大数据综合实验的博客。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

-北天-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值