Hive实战:网址去重

一、实战概述

  • 本实战项目主要利用Hive对多个文本文件中的IP地址进行整合并去除重复项。首先,在虚拟机上创建了三个包含IP地址列表的文本文件(ips01.txtips02.txtips03.txt),并将这些文件上传至HDFS上的/deduplicate/input目录作为原始数据。
  • 接着在hive中创建相对应的数据表ips,并将HDFS中三个文本文件内容导入到数据表ips
  • 最后通过查询实现去重

二、提出任务

三个包含IP地址列表的文本文件(ips01.txt、ips02.txt、ips03.txt)
ips01.txt

192.168.234.21
192.168.234.22
192.168.234.21
192.168.234.21
192.168.234.23
192.168.234.21
192.168.234.21
192.168.234.21              
  • ips02.txt
192.168.234.25
192.168.234.21
192.168.234.21
192.168.234.26
192.168.234.21
192.168.234.27
192.168.234.21
192.168.234.27
192.168.234.21
  • ips03.txt
192.168.234.29
192.168.234.21
192.168.234.26
192.168.234.21
192.168.234.25
192.168.234.25
192.168.234.21
192.168.234.22
192.168.234.21
  • 使用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、 启动hadoop服务

在这里插入图片描述

2、启动Hive Metastore服务

  • 执行命令:hive --service metastore &,在后台启动metastore服务
    在这里插入图片描述

3、启动Hive客户端

  • 执行命令:hive,看到命令提示符hive>
    在这里插入图片描述

4、创建IP表

  • 执行命令:create table ips( name string) ROW FORMAT DELIMITED FIELDS TERMINATED BY '';
    在这里插入图片描述

5、 导入hdfs数据到hive数据表ips中

load data inpath '/deduplicate/input/ips01.txt' into table ips;
load data inpath '/deduplicate/input/ips02.txt' into table ips;
load data inpath '/deduplicate/input/ips03.txt' into table ips;

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

6、查询总数据,执行命令select * from ips;

在这里插入图片描述

  • 能够查到三个文件合成的数据,但是有很多重复的

7、 使用查询去重,执行语句select distinct * from ips;

在这里插入图片描述
在这里插入图片描述

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值