目录
摘要
本项目需要部署的可以私信博主!!!!!!!!!
本文介绍了基于Hadoop的电商广告点击数的分析与可视化,以及相应的Shell脚本执行和大屏可视化设计。首先,我们介绍了Hadoop的基本原理和使用方法,包括如何安装和配置Hadoop集群。
然后,我们介绍了如何使用Hadoop MapReduce框架对电商广告点击数据进行分析和处理,包括数据的清洗、转换和统计。接下来,我们使用Hadoop集成的可视化工具对数据进行可视化分析,展示了广告点击数量的趋势和分布等信息。
最后,我们通过编写Shell脚本将分析结果定时自动执行,并将结果在大屏上进行展示,方便业务人员实时监控广告点击情况。
本文的研究成果为电商广告点击的精细化管理提供了可靠的数据支持和决策依据,同时也为Hadoop在数据分析和可视化方面的应用提供了一种实践思路和操作方法。
大屏可视化预览
本次大屏可视化采用HTML与CSS进行搭建,调用Hadoop后台分析的数据指标,结合前端进行可视化展示,最终达到比较好的可视化效果
这个炫酷可视化可以采用大屏模板,如果有需要的可以私信博主,提供上百种大屏可视化模板,通过前后端的接口调用数据,展现出不同的可视化效果
文末可以扫码联系博主
如何安装Hadoop集群
Hadoop集群需要以下主要组件:
- Hadoop分布式文件系统(HDFS):这是Hadoop的核心组件,它负责数据的存储和管理。
- Yet Another Resource Negotiator (YARN):这是Hadoop的集群资源管理器,它负责在集群上协调和管理计算资源。
- MapReduce:这是Hadoop的分布式计算框架,用于并行处理大规模数据集。
- Hadoop Common:这是Hadoop的共享库,其中包括Hadoop的通用工具和库。
- Hadoop Oozie:这是一个工作流引擎,用于协调和管理Hadoop作业的执行。
- Hadoop Hive:这是一个数据仓库工具,可将结构化数据存储在Hadoop中,并提供SQL查询功能。
- Hadoop Pig:这是一个脚本语言,用于对大规模数据进行转换、过滤和整合。
- Hadoop Spark:这是一种快速、通用的计算引擎,用于大规模数据处理。
- flume、hbase、sqoop等
目前,常用的Hadoop安装类型包括以下几种:
- Standalone:在单个节点上运行Hadoop。一般不推荐这个单节点的环境
- Pseudo-Distributed:在单个节点上模拟分布式环境。 有需要的可以私信博主,也可以自己点击下面的文件进行下载模拟全部分布式Hadoop集群环境,所有组件全部安装OK!解压即可使用
- Fully Distributed:在多个节点上运行Hadoop,实现真正的分布式环境。
全分布式Hadoop集群,所有组件都已经部署OK!解压即可使用
数据集介绍
我们选取了12月1日-18号的数据,进行简单的模拟大数据分析(6万多条,实际项目一般是上亿,文件大小都是TB级,一般的软件无法分析处理,只可以借助Hadoop大数据分析)
实验数据是选取的:12月份的数据
点击此处下载
简单解释一下,为什么做大数据分析一般都是选取淘宝作为数据
做大数据分析选取淘宝的电商数据集可能有以下原因:
- 数据规模大:淘宝作为中国最大的电商平台之一,拥有大量的用户和商品数据,这些数据的规模和多样性使得淘宝的数据集成为一个非常适合大数据分析的数据源。
- 数据丰富:淘宝平台上的商品和用户信息非常丰富,包括商品类别、销售量、价格、品牌、评价、地域、性别、年龄等,这些数据可以提供丰富的维度,帮助分析人员深入了解用户的需求和行为,以及商品的市场趋势和表现。
- 数据真实性高:淘宝的数据集来自于真实的用户和交易,这些数据经过了平台的审核和处理,其真实性和可靠性得到了保障。这对于分析人员来说非常重要,因为可靠的数据可以为分析提供更加准确和客观的基础。
- 淘宝开放平台:淘宝还提供了开放平台,允许开发者和分析人员获取和使用淘宝的数据,这大大方便了分析人员的工作。
项目部署流程
本项目通过选取淘宝12月的大数据集(模拟大数据),和传统的项目不同,本次的执行速度和效率较高,对一些较为频繁的语句,通过编写shell脚本进行,这样就解决了频繁的进行编码
全套项目的源码——shell脚本命令点击下载
一键化配置环境和参数
开启集群,准备好环境
并且修改hive-site配置文件,这里也是摒弃传统的插入,通过shell命令达到一键化的效果
然后利用该脚本一键化添加和配置,并创建了自动加载数据的文件夹,配置好前期所需的这些环境,便于后续的项目开发
效果如下:
一键化建立hive数据表
在加载数据之前,首先需要进行对hive表中的数据进行建立,其中包括数据原表的建立,也就是通过flume进行自动导入的表格,其次就是结果表,因为我们在hive中进行大数据分析之后需要采用数据导出,所以需要建立这些临时表格,最终达到高效的管理。
创建好表格之后,用于后续的分析准备
Flume配置及自动加载数据到hive中
使用vi命令,新建一个file_hive.properties文件,把下面的数据插入到里面,这里在前面的脚本资源中也存在,这里就不多赘述了,有需要的可以下载
这里简单的介绍一下flume是什么:
Flume是一个分布式、可靠和高可用的大数据采集系统。它可以帮助用户从各种数据源(如web服务器日志、消息队列等)中采集数据,并将数据传输到数据存储和处理系统(如Hadoop、HBase等)中。
Flume的架构是基于事件(Event)的流水线(Pipeline)模型,其中每个流水线由三个主要组件组成:
- Source:数据源,用于从不同的数据源中采集数据,如HTTP、日志文件、JDBC等。
- Channel:用于在Source和Sink之间缓存数据的队列,确保数据传输的可靠性和高效性。
- Sink:数据接收端,用于将数据传输到目标存储系统中,如HDFS、HBase、Kafka等。
Flume支持多种数据传输方式,如RPC、HTTP、Avro等,并且可以对数据进行压缩、格式化和加密等操作,以保证数据的完整性和安全性。同时,Flume还支持多种拓扑结构和数据流转方式,以满足不同场景下的数据采集和传输需求。
总之,Flume是一个非常强大和灵活的数据采集系统,可以帮助用户高效、可靠地采集、传输和处理大数据。
hive --service metastore -p
这个命令是启动Hive的元数据存储服务,使用端口号9083,并运行在后台。
在Hadoop中,Hive是一个数据仓库工具,它提供了一个SQL-like语言(HiveQL),用于查询和分析存储在Hadoop分布式文件系统(HDFS)上的大数据。Hive通过将HiveQL查询转换为MapReduce任务来实现查询和分析。
Hive的元数据存储服务是用来存储Hive元数据的,包括表的结构信息、表的位置信息、分区信息等。这些元数据的存储和管理对于Hive的查询和分析操作非常重要。在Hive中,可以使用不同的元数据存储方式,如本地文件系统、关系型数据库等,而启动Hive元数据存储服务则是将元数据存储在一个专门的元数据仓库中。
通过运行上述命令,可以启动Hive的元数据存储服务,并将其绑定到9083端口,使得Hive可以通过这个端口来访问和管理元数据。这对于使用Hive进行大数据查询和分析的用户来说非常重要,因为元数据存储服务的可用性和可靠性会直接影响到查询和分析的效率和准确性。
flume-ng agent --conf conf --conf-file file_hive.properties -name agent3 -Dflume.hadoop.logger=INFO,console
这个命令是启动Flume的agent进程,使用指定的配置文件,并将日志输出级别设置为INFO,并输出到控制台。具体的解释如下:
- flume-ng:Flume的命令行工具,用于启动和管理Flume的各种组件和进程。
- agent:Flume的一个组件,用于收集和传输数据。
- –conf conf:指定Flume的配置文件路径,该路径为相对路径,相对于当前目录。
- –conf-file file_hive.properties:指定Flume的配置文件名,即file_hive.properties。
- -name agent3:指定Flume的agent进程名称,即agent3。
- -Dflume.hadoop.logger=INFO,console:设置Flume的日志输出级别为INFO,并将日志输出到控制台。
总之,该命令的作用是启动一个Flume的agent进程,使用指定的配置文件,将收集到的数据传输到指定的目标存储系统中,并将日志输出级别设置为INFO,并输出到控制台,以方便调试和排查问题。在Hadoop中,Flume是一个重要的数据采集和传输工具,常用于采集和传输各种数据,包括日志、事件、消息等,以满足不同的大数据分析和处理需求。
然后将数据源直接移动到目标文件下,就可以实现自动的导入数据了,这就是flume的优势之处,我们可以编写自动化脚本以及爬虫程序给数据实时的添加,这样不仅高效而且比较简单
mv /home/hadoop/12yue.csv /home/hadoop/taobao/data/
整体的效果如下:
数据分析
数据集导入OK之后,就开始进行分析了,同样的我们可以执行写好的源码:
mysql接收数据表格
接下来进入mysql中建立好接收表格
sqoop将hive表导入到MySQL中
- 确认在Hadoop集群和MySQL服务器之间已经建立了连接。
- 确认Sqoop已经安装在Hadoop集群中,并且MySQL JDBC驱动已经下载。
- 在MySQL中创建表格,以匹配将要从Hive中导入的表格的结构。
- 运行以下Sqoop命令,将数据从Hive中导入到MySQL中:
sqoop export--connect jdbc:mysql://<mysql_server>/<database>--username<mysql_username>--password<mysql_password>--table<mysql_table> --export-dir <hive_table_directory> --input-fields-terminated-by '\t'
- <mysql_server>是MySQL服务器的主机名或IP地址。
- 是MySQL中要导入数据的数据库名称。
- <mysql_username>和<mysql_password>是登录MySQL所需的用户名和密码。
- <mysql_table>是MySQL中要导入数据的表格名称。
- <hive_table_directory>是Hive表格数据存储在HDFS上的目录路径。该目录中应该只包含要导出的表格数据文件。
请注意,Sqoop命令的参数可能需要根据实际情况进行修改。例如,如果要导出的表格使用不同的分隔符,需要相应地修改–input-fields-terminated-by参数。
等待Sqoop命令完成导出,检查MySQL中的表格是否包含了从Hive中导入的数据。
查询是否导入成功!
OK!
项目所需文件
可视化效果
通过将结果表导入到mysql之后,可以通过可视化工具,比如Python或者其他的远程连接虚拟机的IP地址,前提是IP地址需要稳定,不能变动太多。
可视化源码下载
分析可得用户喜欢在活动前后大幅度浏览网站,同时大部分人喜欢在6点(下班之后)浏览网页,到了晚上9点和10点带到高峰,建议在这段时间加强对网站的维护和广告的投入,达到相关的作用
大屏可视化
总结
本次实验可以作为大数据分析模板案例,通过了解hadoop的全套的分析流程,实现自动化的大数据分析,很大程度解决了在编码上遇到的问题。
本项目基于Hadoop技术对电商广告点击数进行了分析与可视化,通过编写Shell脚本实现数据清洗、转化与存储,并使用Hive进行数据查询和处理,最终通过可视化工具实现了大屏展示。
本项目的创新点主要包括以下几个方面:
- 使用Hadoop生态系统进行数据处理和存储。Hadoop生态系统包括HDFS、MapReduce、Hive等组件,可以处理大规模的数据,适合本项目的需求。与传统的关系型数据库相比,Hadoop的分布式存储和计算能力更强,可以支持更大规模的数据处理。
- 使用Hive进行数据查询和处理。Hive是一种基于Hadoop的数据仓库工具,可以将结构化数据映射为一张数据库表,支持SQL语句查询和数据分析。在本项目中,使用Hive进行数据查询和处理,可以快速获得需要的数据,并进行分析和可视化。
- 实现大屏可视化展示。本项目使用可视化工具实现了大屏展示,可以直观地展示广告点击数的情况,便于决策者进行数据分析和决策。大屏可视化展示在商业决策中越来越受到重视,可以帮助企业快速了解市场情况和产品销售情况。
总之,本项目通过使用Hadoop生态系统进行数据处理和存储,结合Shell脚本进行数据清洗和转化,使用Hive进行数据查询和处理,并实现了大屏可视化展示,为电商广告点击数的分析和决策提供了一种新的思路和方法。
每文一语
不是害怕拥有而是害怕结束
版权归原作者 王小王-123 所有, 如有侵权,请联系我们删除。