Hive实战:网址去重
文章目录
- 一、实战概述
- 二、提出任务
- 三、完成任务
- (一)准备数据
- 1、在虚拟机上创建文本文件
- 2、上传文件到HDFS指定目录
- (二)实现步骤
- 1、启动Hive Metastore服务
- 2、启动Hive客户端
- 3、基于HDFS数据文件创建Hive外部表
- 4、利用Hive SQL实现去重
- 5、检查是否实现去重
- 四、实战总结
一、实战概述
-
在本次实战任务中,我们利用Hive大数据处理框架对三个文本文件(ips01.txt、ips02.txt、ips03.txt)中的IP地址进行了整合与去重。首先,在虚拟机上创建了这三个文本文件,并将它们上传至HDFS的
/deduplicate/input目录下作为原始数据源。接着,启动了Hive Metastore服务和客户端,以管理和访问元数据信息。 -
通过Hive SQL语句创建了一个外部表
ips,该表的每一行存储一个IP地址,字段间采用换行符\n进行分隔,这样便能正确读取到HDFS上的原始IP列表数据。为了实现去重目标,进一步创建了新的内部表deduplicated_ips,并使用DISTINCT关键字从ips表中提取出不重复的IP地址记录。 -
最后,执行SQL查询语句查看
deduplicated_ips表的内容,如果输出结果中不存在重复IP,则表示去重过程顺利完成。整个过程展示了Hive在处理大规模文本数据时,能够高效地进行数据加载、表结构定义、数据清洗以及数据去重等操作,充分体现了其在大数据处理领域的强大功能与便捷性。
二、提出任务
- 三个包含了网址的文本文件(ips01.txt、ips02.txt、ips03.txt)
- ips01.txt
192.168.1.1
172.16.0.1
10.0.0.1
192.168.1.2
192.168.1.3
172.16.0.2
10.0.0.2
192.168.1.1
172.16.0.1
10.0.0.3
- ips02.txt
192.168.1.4
172.16.0.3
10.0.0.4
192.168.1.5
192.168.2.1
172.16.0.4
10.0.1.1
192.168.1.1
172.16.0.1
10.0.0.1
- ips03.txt
192.168.1.6
172.16.1.1
10.0.2.1
192.168.1.7
192.168.3.1
172.16.0.5
10.0.0.5
192.168.1.1
172.16.0.1
10.0.0.3
- 使用Hive框架,实现网址去重

三、完成任务
(一)准备数据
1、在虚拟机上创建文本文件
- 在master虚拟机上使用文本编辑器创建三个文件:
ips01.txt,ips02.txt,ips03.txt,并确保每个文件内存储的是纯文本格式的IP地址列表。

2、上传文件到HDFS指定目录
- 在master虚拟机上创建HDFS上的
/deduplicate/input目录,用于存放待处理的原始数据文件。 - 执行命令:
hdfs dfs -mkdir -p /deduplicate/input

- 将本地创建的三个文本文件上传至HDFS的
/deduplicate/input目录hdfs dfs -put ips01.txt /deduplicate/input/ hdfs dfs -put ips02.txt /deduplicate/input/ hdfs dfs -put ips03.txt /deduplicate/input/ - 执行上述命令

(二)实现步骤
1、启动Hive Metastore服务
- 执行命令:
hive --service metastore &,在后台启动metastore服务

2、启动Hive客户端
- 执行命令:
hive,看到命令提示符hive>

3、基于HDFS数据文件创建Hive外部表
- 基于HDFS数据文件创建Hive外部表,执行语句
CREATE EXTERNAL TABLE ips (ip STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\n' LOCATION '/deduplicate/input'; - 这里创建了一个名为
ips的外部表,字段为单列ip,每一行代表一个IP地址。由于我们的数据文件中每个IP地址占一行,所以字段间用换行符\n分隔。

4、利用Hive SQL实现去重
- 基于查询结果创建新表
CREATE TABLE deduplicated_ips AS SELECT DISTINCT ip FROM ips; - 通过上述SQL语句,我们在Hive内部创建了一个新的表
deduplicated_ips,其中存储了从unique_ips表中提取的所有不重复的IP地址。

5、检查是否实现去重
- 最后,检查
deduplicated_ips表的内容以确认去重是否成功执行 - 执行语句:
SELECT * FROM deduplicated_ips;

- 若输出结果中没有重复的IP地址,则说明去重任务已经顺利完成。
四、实战总结
- 本实战通过Hive对三个文本文件中的IP地址数据进行整合去重。首先在虚拟机创建并上传文本至HDFS,接着启动Hive服务与客户端,创建外部表加载数据,并用DISTINCT从原始表中提取不重复IP至新内部表,最终成功实现去重目标,展示了Hive处理大规模文本数据的高效能与便捷性。
相关文章:
Hive实战:网址去重
文章目录 一、实战概述二、提出任务三、完成任务(一)准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录 (二)实现步骤1、启动Hive Metastore服务2、启动Hive客户端3、基于HDFS数据文件创建Hive外部表4、利用Hive SQL实…...
206.【2023年华为OD机试真题(C卷)】最大N个数与最小N个数的和(JavaPythonC++JS实现)
🚀点击这里可直接跳转到本专栏,可查阅顶置最新的华为OD机试宝典~ 本专栏所有题目均包含优质解题思路,高质量解题代码(Java&Python&C++&JS分别实现),详细代码讲解,助你深入学习,深度掌握! 文章目录 一. 题目-最大N个数与最小N个数的和二.解题思路三.题解代…...
【刷题日记】青少年CTF-Misc(一)
靶场链接 青少年CTF Markdown 题目难度:★ 题目描述:s0ng师傅发现M0x1n师傅特别喜欢用这个写文档,你知道M0x1n这次把FLAG放到哪里了吗?flag格式为:qsnctf{xxx}。 下载附件,打开即可看到flag flag qsnc…...
《未知星途:自我掌握命运》
最近在追一部叫《吞噬星空》的国产动漫,由此引发了我对于人类命运的思考。 在宇宙的无边黑暗中,我们仰望星空,对于外星生命的想象如同星云般浩渺。外星生命,或许是以我们无法想象的形态存在着,可能是以光辉的气体、晶莹…...
一个简单的KNN实现方法
对于许多离散问题,经过神经网络解决再通过softmax之后每一个值在[0,1]之间的连续变量,想要将其离散化,即离散化到每个元素都是 binary-variable,即 0-1 ,这时可以用KNN方法,其实就是找到与这个向量的方差最…...
Vue实现加减法验证码
引入Vue.js 在HTML文件的<head>标签中引入Vue.js的CDN链接: <script src"https://cdn.jsdelivr.net/npm/vue2.6.11/dist/vue.min.js"></script>创建Vue实例 接下来,我们要创建一个Vue实例,并将其挂载到HTML文…...
PDF最强处理工具-StirlingPDF
Stirling-PDF 一个功能强大的本地托管的基于 Web 的 PDF 操作工具,这个软件最初是使用 ChatGPT 制作的,持续的版本迭代更新,支持对 PDF 文件执行各种操作,例如拆分合并、转换、重组、添加图像、旋转、压缩等。完全开源免费&#x…...
SpringCloud系列篇:入门讲解Spring Cloud是什么
🥳🥳Welcome Huihuis Code World ! !🥳🥳 接下来看看由辉辉所写的关于SpringCloud的相关操作吧 目录 🥳🥳Welcome Huihuis Code World ! !🥳🥳 一.Spring Cloud是什么 二.Spring …...
GEE:随机数
作者:CSDN _养乐多_ 本文将介绍在 Google Earth Engine(GEE)上生成随机数的 API,可以指定随机数的生成范围、类型(整型、浮点型)、分布方式(均匀分布、正态分布)。 文章目录 一、随…...
H266/VVC率失真优化与速率控制概述
率失真优化技术 率失真优化: 视频编码的主要目的是在保证一定视频质量的条件下尽量降低视频的编码比特率,或者在一定编码比特率限制条件下尽量地减小编码失真。在固定的编码框架下,为了应对不同的视频内容,往往有多种候选的编码方…...
thinkphp6入门(14)-- 多关联模型查询
背景: 有3个数据表,一个User表,一个Cloth表,一个Shoe表。 Cloth表和Shoe表分别和User表通过user_id关联。 thinkphp 6中如何通过模型查询所有用户,其中包括每个用户的cloth和shoe。 多关联模型查询: 1.…...
MT8766安卓核心板规格参数_MTK8766核心板模块方案定制
MT8766安卓核心板:高性能、稳定可靠、集成度高的一体化解决方案 MT8766安卓核心板采用联发科MTK8766四核4G模块方案,是一款高度集成的安卓一体板。四核芯片架构,主频可达到2.0GHz,支持国内4G全网通。12nm制程工艺,支持…...
k8s的声明式资源管理(yaml文件)
1、声明式管理的特点 (1)适合对资源的修改操作 (2)声明式管理依赖于yaml文件,所有的内容都在yaml文件当中 (3)编辑好的yaml文件,还是要依靠陈述式的命令发布到k8s集群当中 kubect…...
Qt中图片旋转缩放操作
在我们开发过程中,难免会遇到加载图片的问题,在上一个开发项目里我就遇到了图片缩放的问题,所以,我决定将这一部分好好研究,记录下来,希望对大家有帮助哟~ 在讲解之前,我们先看一看具体的展示效…...
LeetCode 2125. 银行中的激光束数量【数组,遍历】1280
本文属于「征服LeetCode」系列文章之一,这一系列正式开始于2021/08/12。由于LeetCode上部分题目有锁,本系列将至少持续到刷完所有无锁题之日为止;由于LeetCode还在不断地创建新题,本系列的终止日期可能是永远。在这一系列刷题文章…...
关于图像分割任务中按照比例将数据集随机划分成训练集和测试集
1. 前言 之前写了分类和检测任务划分数据集的脚本,三大任务实现了俩,基于强迫症,也实现一下图像分割的划分脚本 分类划分数据:关于图像分类任务中划分数据集,并且生成分类类别的josn字典文件 检测划分数据ÿ…...
回文链表【链表】
Problem: 234. 回文链表 文章目录 思路 & 解题方法复杂度Code 思路 & 解题方法 先转成列表。 复杂度 时间复杂度: 添加时间复杂度, 示例: O ( n ) O(n) O(n) 空间复杂度: 添加空间复杂度, 示例: O ( n ) O(n) O(n) Code # Definition for si…...
Linux Perf 介绍
文章目录 前言 二、安装Perf三、二级命令3.1 perf list3.2 perf record/report3.3 perf stat3.4 perf top 四、使用火焰图进行性能分析4.1 下载火焰图可视化生成器4.2 使用perf采集数据4.3 生成火焰图参考资料 前言 perf是一款Linux性能分析工具,内置在Linux内核的…...
【论文阅读】Variational Graph Auto-Encoder
0、基本信息 会议:2016-NIPS作者:Thomas N. Kipf,Max Welling文章链接:Variational Graph Auto-Encoder代码链接:Variational Graph Auto-Encoder 1、介绍 本文提出一个变分图自编码器,一个基于变分自编…...
如何把电脑中的项目快速传进Github中?
一、打开GitHub网站:https:github.com 登录自己的个人账号 1.新建一个项目 2.用鼠标直接拖拽电脑中的项目文件夹与文件到新创建的项目中点击保存即可。...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...
Docker 离线安装指南
参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性,不同版本的Docker对内核版本有不同要求。例如,Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本,Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
java 实现excel文件转pdf | 无水印 | 无限制
文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...
稳定币的深度剖析与展望
一、引言 在当今数字化浪潮席卷全球的时代,加密货币作为一种新兴的金融现象,正以前所未有的速度改变着我们对传统货币和金融体系的认知。然而,加密货币市场的高度波动性却成为了其广泛应用和普及的一大障碍。在这样的背景下,稳定…...
C++_哈希表
本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说,直接开始吧! 一、基础概念 1. 哈希核心思想: 哈希函数的作用:通过此函数建立一个Key与存储位置之间的映射关系。理想目标:实现…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...
spring boot使用HttpServletResponse实现sse后端流式输出消息
1.以前只是看过SSE的相关文章,没有具体实践,这次接入AI大模型使用到了流式输出,涉及到给前端流式返回,所以记录一下。 2.resp要设置为text/event-stream resp.setContentType("text/event-stream"); resp.setCharacter…...
职坐标物联网全栈开发全流程解析
物联网全栈开发涵盖从物理设备到上层应用的完整技术链路,其核心流程可归纳为四大模块:感知层数据采集、网络层协议交互、平台层资源管理及应用层功能实现。每个模块的技术选型与实现方式直接影响系统性能与扩展性,例如传感器选型需平衡精度与…...
Pandas 可视化集成:数据科学家的高效绘图指南
为什么选择 Pandas 进行数据可视化? 在数据科学和分析领域,可视化是理解数据、发现模式和传达见解的关键步骤。Python 生态系统提供了多种可视化工具,如 Matplotlib、Seaborn、Plotly 等,但 Pandas 内置的可视化功能因其与数据结…...
