Hive分区表实战 - 单分区字段

文章目录

  • 一、实战概述
  • 二、实战步骤
    • (一)创建图书数据库
    • (二)创建国别分区的图书表
    • (三)在本地创建数据文件
    • (四)按分区加载数据
      • 1、加载中文书籍数据到`country=cn`分区
      • 2、加载英文书籍数据到`country=en`分区
    • (五)查看分区表book全部记录
    • (六) 通过HDFS查看分区对应的目录及文件
    • (七)手动创建分区并上传数据
      • 1、在HDFS上手动创建`country=jp`分区目录
      • 2、创建日文书籍数据文件`jp_book.txt`
      • 3、上传文件到HDFS日本分区目录
      • 4、更新元数据以识别新分区
    • (八)再次查看book表全部记录
    • (九)删除指定分区
    • (十)更改分区名
    • (十一)在MySQL中查看Hive元数据(分区信息)
      • 1、登录MySQL Hive Metastore数据库
      • 2、 查看book表分区元数据信息
  • 三、实战总结

一、实战概述

  • 在本Hive分区表管理实战中,我们通过一系列实际操作演示了如何有效地利用分区功能来组织和查询大规模数据。首先,创建了一个名为book的内部分区表,其结构包含idname字段,并根据country字段进行分区。接下来,准备并加载了不同国家(中国和英国)书籍的数据文件到对应的分区目录中。

  • 为了展示分区灵活性,我们还模拟了手动创建新分区(日本),上传数据文件并通过msck repair table命令将新分区纳入表的元数据管理中。此外,实战还涉及分区的删除、重命名等操作,直观展示了Hive如何同步更新分区状态至HDFS存储及元数据层面。

  • 最后,通过查看MySQL中Hive Metastore数据库的相关表信息,揭示了Hive如何记录分区的具体元数据内容,包括分区位置等关键信息。整个实战过程充分展现了Hive分区表在提升查询效率、实现数据分类存储以及简化数据管理方面的强大能力。

二、实战步骤

(一)创建图书数据库

  • 执行命令:create database bookdb;
    在这里插入图片描述
  • 执行命令:use bookdb;,切换到bookdb数据库
    在这里插入图片描述

(二)创建国别分区的图书表

  • 执行语句:create table book (id int, name string) partitioned by (country string) row format delimited fields terminated by ' ';,创建book
    在这里插入图片描述

(三)在本地创建数据文件

  • 在master虚拟机上创建中文书籍数据文件cn_book.txt
    在这里插入图片描述
  • 在master虚拟机上创建英文书籍数据文件en_book.txt
    在这里插入图片描述

(四)按分区加载数据

1、加载中文书籍数据到country=cn分区

  • 执行语句:load data local inpath '/root/cn_book.txt' overwrite into table book partition(country='cn');
    在这里插入图片描述

2、加载英文书籍数据到country=en分区

  • 执行语句:load data local inpath '/root/en_book.txt' overwrite into table book partition(country='en');
    在这里插入图片描述

(五)查看分区表book全部记录

  • 执行语句:select * from book;,注意:第三列是分区字段
    在这里插入图片描述

(六) 通过HDFS查看分区对应的目录及文件

  • 使用HDFS Shell命令检查/user/hive/warehouse/bookdb.db/book(假设这是hive表的默认存储位置)下的country=cncountry=en分区目录及其内部的数据文件。
  • 执行命令:hdfs dfs -ls -r /user/hive/warehouse/bookdb.db/book
    在这里插入图片描述

(七)手动创建分区并上传数据

1、在HDFS上手动创建country=jp分区目录

  • 执行命令:hdfs dfs -mkdir /user/hive/warehouse/bookdb.db/book/country=jp
    在这里插入图片描述

2、创建日文书籍数据文件jp_book.txt

  • 在master虚拟机上创建jp_book.txt
    在这里插入图片描述

3、上传文件到HDFS日本分区目录

  • 执行命令:hdfs dfs -put jp_book.txt /user/hive/warehouse/bookdb.db/book/country=jp
    在这里插入图片描述

4、更新元数据以识别新分区

  • 执行语句:msck repair table book;
    在这里插入图片描述

(八)再次查看book表全部记录

  • 执行语句:select * from book;,注意:第三列是分区字段
    在这里插入图片描述

(九)删除指定分区

  • 执行语句:alter table book drop partition (country='jp');,删除country=jp分区
    在这里插入图片描述
  • 此时,查看分区表全部记录,就会发现没有日本书籍记录
    在这里插入图片描述

(十)更改分区名

  • 将原有country=cn分区重命名为country=zh,执行语句:alter table book partition (country='cn') rename to partition (country='zh');
    在这里插入图片描述
  • 此时,查看分区表全部记录
    在这里插入图片描述

(十一)在MySQL中查看Hive元数据(分区信息)

1、登录MySQL Hive Metastore数据库

  • 执行命令:mysql -uroot -p903213,登录MySQL,然后执行use hive;,打开hive元数据库
    在这里插入图片描述

2、 查看book表分区元数据信息

  • 执行语句:SELECT * FROM COLUMNS_V2;,book分区表的CD_ID值是27
    在这里插入图片描述

  • 执行语句:select SD_ID, CD_ID, LOCATION from SDS where CD_ID = 27;
    在这里插入图片描述

三、实战总结

  • 本实战演练全面展示了如何在Hive中创建和管理分区表,通过实际操作演示了数据按国别分区存储、加载与查询的全过程。从创建book表开始,依次完成了数据文件准备、分区数据加载、分区查看及更新元数据等任务,并进一步演示了分区的增删改查操作,最后通过MySQL查看Hive Metastore中记录的分区元数据信息,充分体现了Hive分区表在提升查询效率与简化数据管理方面的优势。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/309895.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

分布式数据库原理及技术实验及个人思考

Hive的数据库及表的存储结构体系讨论&#xff1a; 1.显示hive所在数据库的位置 方法一&#xff1a;一次性临时存储 >hive set hive.cli.print.current.dbtrue 方法二&#xff1a;永久存储 在conf文件夹下修改hive-site.xml配置文件&#xff0c;添加 <property> …

医疗器械网络安全风险评定CVSS打分

为了完成医疗器械软件的网络安全风险评定相关文档&#xff0c;需要进行CVSS评分&#xff0c;这个评分对于第一次做的人来说感觉还是有些迷惑的&#xff0c;查了一些资料&#xff0c;留作参考。 CVSS 指的是 Common Vulnerability Scoring System&#xff0c;即通用漏洞评分系统…

Linux学习记录——삼십팔 网络层IP协议

文章目录 1、了解IP协议2、IP协议报文1、8位服务类型2、16位总长度&#xff08;字节数&#xff09;3、8位生存时间&#xff08;TTL&#xff09; 3、网段划分1、网段划分和CIDR方案2、子网划分简单方法3、IP地址问题的解决方案 4、公网内网1、内网分配2、运营商管理方法 5、路由…

23种设计模式精讲,配套23道编程题目 ,支持 C++、Java、Python、Go

关于设计模式的学习&#xff0c;大家应该还是看书或者看博客&#xff0c;但却没有一个边学边练的学习环境。 学完了一种设计模式 是不是应该去练一练&#xff1f; 所以卡码网 针对 23种设计&#xff0c;推出了 23道编程题目&#xff0c;来帮助大家练习设计模式&#xff0c;地…

DevEco Studio for Mac:zsh: command not found: ohpm

一、检查是否配置有ohpm环境 1、新打开一个终端输入export&#xff0c;查看是否有 ohpm路径&#xff1a; 二、如果没有找到ohpm路径&#xff0c;开始配置环境 。 1、查找本机ohpm路径&#xff0c;并记录ohpm解释器的路径&#xff1a; 2、打开终端工具&#xff0c;执行命令 ech…

PHP开发日志 ━━ php8.3安装与使用组件Xdebug

今天开头写点历史&#xff1a; 二十年前流行asp&#xff0c;当时用vb整合常用函数库写了一个dll给asp调用&#xff0c;并在此基础上开发一套仿windows界面的后台管理系统&#xff1b;后来asp逐渐没落&#xff0c;于是在十多年前转投php&#xff0c;不久后用php写了一套mvc框架&…

[足式机器人]Part2 Dr. CAN学习笔记-Advanced控制理论 Ch04-4系统的可控性Controllability(LTI)线性时不变

本文仅供学习使用 本文参考&#xff1a; B站&#xff1a;DR_CAN Dr. CAN学习笔记-Advanced控制理论 Ch04-4系统的可控性Controllability-LTI线性时不变

第2章 Java编程基础

2.1. Java程序格式 2.1.1 Java程序的基本格式 Java程序代码必须放在一个类中&#xff0c;初学者可以简单地把一个类理解为一个Java程序。类使用class关键字定义&#xff0c;在class前面可以有类的修饰符&#xff0c;类的定义格式如下&#xff1a; 修饰符 class 类名{ 程序代码…

uniapp中实现H5录音和上传、实时语音识别(兼容App小程序)和波形可视化

文章目录 Recorder-UniCore插件特性集成到项目中调用录音上传录音ASR语音识别 在uniapp中使用Recorder-UniCore插件可以实现跨平台录音功能&#xff0c;uniapp自带的recorderManager接口不支持H5、录音格式和实时回调onFrameRecorded兼容性不好&#xff0c;用Recorder插件可避免…

Vue组件

一&#xff1a;组件化开发基础 1.组件是什么&#xff1f;有什么用&#xff1f; 组件就是&#xff1a;扩展 HTML 元素&#xff0c;封装可重用的代码&#xff0c;目的是复用 例如&#xff1a;有一个轮播图&#xff0c;可以在很多页面中使用&#xff0c;一个轮播有js&#xff0c;…

UniApp调试支付宝沙箱(安卓)

先看下这里完整的交互的图&#xff1a;小程序文档 - 支付宝文档中心 一、打包 不管怎样&#xff0c;先打个包先。可以直接使用云端证书、云端打包&#xff0c;只需要指定包名即可。 二、在支付宝开放平台创建应用 这个参考官方的过程就可以了&#xff0c;只要有刚才打的包&…

人工智能行业的发展前景如何?

人工智能&#xff08;AI&#xff09;已经成为如今科技领域的热门话题之一&#xff0c;从图像识别到自动驾驶&#xff0c;从语音助手到智能机器人&#xff0c;AI技术正在改变我们的生活方式。随着技术的不断发展和应用的扩大&#xff0c;人工智能行业的发展前景无疑是非常广阔的…

电池组不能充电的原因

一、电池组不能充电的原因 01&#xff09;电池零电压或电池组中有零电压电池&#xff1b; 02&#xff09;电池组连接错误&#xff0c;内部电子组件&#xff0c;保护电路出现异常&#xff1b; 03&#xff09;充电设备故障&#xff0c;无输出电流&#xff1b; 04&#xff09;外部…

linux kernel:devres模块架构分析

参考文档&#xff1a; https://www.kernel.org/doc/html/latest/driver-api/driver-model/devres.html https://www.cnblogs.com/sammei/p/3498052.html devres in linux driver devres: Managed Device Resource device resource managementdevres_alloc()动态申请内存分配…

最好的 6 个华为/小米/OPPO/VIVO手机数据恢复软件评测

如何恢复手机上已删除的文件&#xff1f;下载 华为/小米/OPPO/VIVO数据恢复是否安全&#xff1f;在这里&#xff0c;我们将与您分享最好的 华为/小米/OPPO/VIVO数据恢复软件&#xff0c;以恢复所有数据&#xff0c;包括照片、视频、应用程序数据等。阅读这篇文章并获得最可靠且…

力扣题目的参数解释(力扣初用者必看指南)

导入&#xff1a; 题目来源&#xff1a;leetcode 867 转置矩阵 参数列表&#xff1a; int** matrix int matrixSize int* matrixColSize int* returnSize int** returnColumnSizes 模仿main&#xff08;&#xff09;函数 完整代码 运行结果 最后本题的AC答案 结语&…

了解数据链路层中的HDLC协议

HDLC&#xff08;High-Level Data Link Control&#xff09;协议是一种数据链路层协议&#xff0c;它定义了在数字通信中数据的传输和控制方式。HDLC协议具有简单高效、可靠可扩展等特点&#xff0c;在广域网和局域网中得到了广泛应用。本文将介绍HDLC协议的基本概念、工作原理…

OpenAI大反击!称纽约时报涉嫌故意操纵,且数据是「合理使用」

大家好我是二狗。 《纽约时报》向法院起诉OpenAI侵犯版权后续事件来了&#xff01; 就在今天&#xff0c;OpenAI进行了一场“危机公关”&#xff1a;直接在官方博客上撰文发声&#xff0c;反驳《纽约时报》的诉讼&#xff0c;其主要观点有四个&#xff1a; 1、我们正在和新闻…

低代码的应用场景

Gartner 在 2019 年的低代码调研报告中&#xff0c;曾经绘制过一张用来阐述低代码适用场景的“应用金字塔”&#xff0c;如下图所示&#xff1a; 应用级别划分&#xff1a;从下往上&#xff0c;分别为工作组级(Workgroup Class)、部门级(Departmental Class)、企业级(Enterpris…

SV-298XT IP网络广播板 SV-298XT-共公广播音频模块IP网络广播板

SV-298XT IP网络广播板 SV-298XT-共公广播音频模块IP网络广播板 SV-298XT网络广播模块是一款全数字网络型广播模组&#xff0c;核心部分采用了成熟的私有协议解决方案&#xff0c;性能稳定可靠。支持TCP、UDP、组播协议能针对当前服务器中不同的广播任务设置不同的广播传输方式…