基于Hadoop的电商广告点击数的分析与可视化(Shell脚本执行与大屏可视化设计)
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
摘要
本项目需要部署的可以私信博主
本文介绍了基于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实现真正的分布式环境。
数据集介绍
我们选取了12月1日-18号的数据进行简单的模拟大数据分析6万多条实际项目一般是上亿文件大小都是TB级一般的软件无法分析处理只可以借助Hadoop大数据分析
实验数据是选取的12月份的数据
简单解释一下为什么做大数据分析一般都是选取淘宝作为数据
做大数据分析选取淘宝的电商数据集可能有以下原因
-
数据规模大淘宝作为中国最大的电商平台之一拥有大量的用户和商品数据这些数据的规模和多样性使得淘宝的数据集成为一个非常适合大数据分析的数据源。
-
数据丰富淘宝平台上的商品和用户信息非常丰富包括商品类别、销售量、价格、品牌、评价、地域、性别、年龄等这些数据可以提供丰富的维度帮助分析人员深入了解用户的需求和行为以及商品的市场趋势和表现。
-
数据真实性高淘宝的数据集来自于真实的用户和交易这些数据经过了平台的审核和处理其真实性和可靠性得到了保障。这对于分析人员来说非常重要因为可靠的数据可以为分析提供更加准确和客观的基础。
-
淘宝开放平台淘宝还提供了开放平台允许开发者和分析人员获取和使用淘宝的数据这大大方便了分析人员的工作。
项目部署流程
本项目通过选取淘宝12月的大数据集模拟大数据和传统的项目不同本次的执行速度和效率较高对一些较为频繁的语句通过编写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-ngFlume的命令行工具用于启动和管理Flume的各种组件和进程。
-
agentFlume的一个组件用于收集和传输数据。
-
–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进行数据查询和处理并实现了大屏可视化展示为电商广告点击数的分析和决策提供了一种新的思路和方法。
每文一语
不是害怕拥有而是害怕结束