上海古都建筑设计集团,上海办公室装修设计公司,上海装修公司高质量的内容分享社区,上海装修公司我们不是内容生产者,我们只是上海办公室装修设计公司内容的搬运工平台

Hive实战:网址去重

guduadmin11天前

文章目录

  • 一、实战概述
  • 二、提出任务
  • 三、完成任务
    • (一)准备数据
      • 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框架,实现网址去重

                    Hive实战:网址去重,在这里插入图片描述,第1张

                    三、完成任务

                    (一)准备数据

                    1、在虚拟机上创建文本文件

                    • 在master虚拟机上使用文本编辑器创建三个文件:ips01.txt, ips02.txt, ips03.txt,并确保每个文件内存储的是纯文本格式的IP地址列表。

                      Hive实战:网址去重,在这里插入图片描述,第2张

                      2、上传文件到HDFS指定目录

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

                        Hive实战:网址去重,在这里插入图片描述,第3张

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

                        Hive实战:网址去重,在这里插入图片描述,第4张

                        (二)实现步骤

                        1、启动Hive Metastore服务

                        • 执行命令:hive --service metastore &,在后台启动metastore服务

                          Hive实战:网址去重,在这里插入图片描述,第5张

                          2、启动Hive客户端

                          • 执行命令:hive,看到命令提示符hive>

                            Hive实战:网址去重,在这里插入图片描述,第6张

                            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分隔。

                              Hive实战:网址去重,在这里插入图片描述,第7张

                              4、利用Hive SQL实现去重

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

                                Hive实战:网址去重,在这里插入图片描述,第8张

                                5、检查是否实现去重

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

                                  Hive实战:网址去重,在这里插入图片描述,第9张

                                • 若输出结果中没有重复的IP地址,则说明去重任务已经顺利完成。

                                  四、实战总结

                                  • 本实战通过Hive对三个文本文件中的IP地址数据进行整合去重。首先在虚拟机创建并上传文本至HDFS,接着启动Hive服务与客户端,创建外部表加载数据,并用DISTINCT从原始表中提取不重复IP至新内部表,最终成功实现去重目标,展示了Hive处理大规模文本数据的高效能与便捷性。

网友评论

搜索
最新文章
热门文章
热门标签