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

本文涉及的产品
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据基础实验十一,学习有关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

image-20221106141856852.png

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

2、用命令进入Hive客户端

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

cd /usr/cstor/hive/bin/
hive

image-20221106142138476.png

3、通过HQL语句进行实验

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

show databases;use default;

image-20221106142233274.png

在命令端创建Hive分区表:

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

image-20221106142325834.png

查看新建的表:

show tables;

image-20221106142420697.png

给parthive表创建两个分区:

altertable parthive add partition(year='2014');altertable parthive add partition(year='2015');

image-20221106142521421.png

查看parthive的表结构:

altertable parthive add partition(year='2014');altertable parthive add partition(year='2015');

image-20221106142554947.png

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

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

image-20221106142634675.png

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

image-20221106142711021.png

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

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

selectcount(*)from parthive whereyear='2015';

image-20221106142816528.png

六、最后我想说

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

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
基于MaxCompute的热门话题分析
Apsara Clouder大数据专项技能认证配套课程:基于MaxCompute的热门话题分析
目录
相关文章
|
15天前
|
数据采集 人工智能 分布式计算
ODPS在AI时代的发展战略与技术演进分析报告
ODPS(现MaxCompute)历经十五年发展,从分布式计算平台演进为AI时代的数据基础设施,以超大规模处理、多模态融合与Data+AI协同为核心竞争力,支撑大模型训练与实时分析等前沿场景,助力企业实现数据驱动与智能化转型。
69 4
|
2月前
|
存储 分布式计算 Hadoop
Hadoop框架解析:大数据处理的核心技术
组件是对数据和方法的封装,从用户角度看是实现特定功能的独立黑盒子,能够有效完成任务。组件,也常被称作封装体,是对数据和方法的简洁封装形式。从用户的角度来看,它就像是一个实现了特定功能的黑盒子,具备输入和输出接口,能够独立完成某些任务。
|
20天前
|
SQL 分布式计算 大数据
我与ODPS的十年技术共生之路
ODPS十年相伴,从初识的分布式计算到共生进化,突破架构边界,推动数据价值深挖。其湖仓一体、隐私计算与Serverless能力,助力企业降本增效,赋能政务与商业场景,成为数字化转型的“数字神经系统”。
|
2月前
|
数据采集 自然语言处理 分布式计算
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
大数据岗位技能需求挖掘:Python爬虫与NLP技术结合
|
2月前
|
存储 分布式计算 算法
Java 大视界 -- Java 大数据在智能教育在线考试监考与作弊检测中的技术创新(193)
本文探讨了Java大数据技术在智能教育在线考试监考与作弊检测中的创新应用。随着在线考试的普及,作弊问题日益突出,传统监考方式难以应对。通过Java大数据技术,可实现考生行为分析、图像识别等多维度监控,提升作弊检测的准确性与效率。结合Hadoop与Spark等技术,系统能实时处理海量数据,构建智能监考体系,保障考试公平性,推动教育评价体系的数字化转型。
|
2月前
|
SQL 缓存 监控
大数据之路:阿里巴巴大数据实践——实时技术与数据服务
实时技术通过流式架构实现数据的实时采集、处理与存储,支持高并发、低延迟的数据服务。架构涵盖数据分层、多流关联,结合Flink、Kafka等技术实现高效流计算。数据服务提供统一接口,支持SQL查询、数据推送与定时任务,保障数据实时性与可靠性。
|
传感器 分布式计算 安全
Java 大视界 -- Java 大数据在智能安防入侵检测系统中的多源数据融合与分析技术(171)
本文围绕 Java 大数据在智能安防入侵检测系统中的应用展开,剖析系统现状与挑战,阐释多源数据融合及分析技术,结合案例与代码给出实操方案,提升入侵检测效能。
|
SQL 数据采集 数据挖掘
大数据行业应用之Hive数据分析航班线路相关的各项指标
大数据行业应用之Hive数据分析航班线路相关的各项指标
333 1
|
4月前
|
SQL 分布式计算 大数据
大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南
本文深入介绍 Hive 与大数据融合构建强大数据仓库的实战指南。涵盖 Hive 简介、优势、安装配置、数据处理、性能优化及安全管理等内容,并通过互联网广告和物流行业案例分析,展示其实际应用。具有专业性、可操作性和参考价值。
大数据新视界 --大数据大厂之Hive与大数据融合:构建强大数据仓库实战指南
|
11月前
|
SQL 分布式计算 Java
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
大数据-96 Spark 集群 SparkSQL Scala编写SQL操作SparkSQL的数据源:JSON、CSV、JDBC、Hive
217 0