基于Spark2.x新闻网大数据实时分析可视化系统项目

本文详述了一个基于Spark2.x的大数据实时分析与可视化的项目,涵盖业务需求、系统架构、集群配置、数据流程、Flume、HBase、Kafka集成、Hadoop HA、Hive与HBase集成、Cloudera HUE和Spark SQL、Structured Streaming等,通过实例展示了日志分析、数据采集、存储、分发和可视化全过程。
摘要由CSDN通过智能技术生成

本次项目是基于企业大数据经典案例项目(大数据日志分析),全方位、全流程讲解 大数据项目的业务分析、技术选型、架构设计、集群规划、安装部署、整合继承与开发和web可视化交互设计。

项目代码托管于github,大家可以自行下载


一、业务需求分析

  1. 捕获用户浏览日志信息
  2. 实时分析前20名流量最高的新闻话题
  3. 实时统计当前线上已曝光的新闻话题
  4. 统计哪个时段用户浏览量最高

二、系统架构图设计

三、系统数据流程设计

四、集群资源规划设计

五、步骤详解

考虑到实际情况,本人集群配置共三个节点(node5、node6、node7)。

1. Zookeeper分布式集群部署
    参考 博客
2. Hadoop2.X HA架构与部署
    参考 博客
3. HBase分布式集群部署与设计
    参考 博客
4. Kafka分布式集群部署
    参考 博客
5. Flume部署及数据采集准备
    参考 博客,node6与node7中flume数据采集到node5中,而且node6和node7的flume配置文件大致相同,node7中将a2改为a3,如下
a2.sources = r1
a2.sinks = k1
a2.channels = c1

a2.sources.r1.type = exec
a2.sources.r1.command = tail -F /opt/data/weblog-flume.log
a2.sources.r1.channels = c1

a2.channels.c1.type = memory
a2.channels.c1.capacity = 1000
a2.channels.c1.transactionCapacity = 1000
a2.channels.c1.keep-alive = 5

a2.sinks.k1.type = avro
a2.sinks.k1.channel = c1
a2.sinks.k1.hostname = node5
a2.sinks.k1.port = 5555
6. Flume+HBase+Kafka集成与开发
1. 下载Flume源码并导入Idea开发工具
    1)将apache-flume-1.7.0-src.tar.gz源码下载到本地解压
    2)通过idea导入flume源码
    打开idea开发工具,选择File——》Open
    
    然后找到flume源码解压文件,选中flume-ng-hbase-sink,点击ok加载相应模块的源码。
    
2. 官方flume与hbase集成的参数介绍

3. 下载日志数据并分析
到搜狗实验室 下载用户查询日志
    1)介绍

    搜索引擎查询日志库设计为包括约1个月(2008年6月)Sogou搜索引擎部分网页查询需求及用户点击情况的网页查询日志数据集合。为进行中文搜索引擎用户行为分析的研究者提供基准研究语料。

    2)格式说明

    数据格式为:访问时间\t用户ID\t[查询词]\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击的URL

    其中,用户ID是根据用户使用浏览器访问搜索引擎时的Cookie信息自动赋值,即同一次使用浏览器输入的不同查询对应同一个用户ID


4. node5聚合节点与HBase和Kafka的集成配置

    node5通过flume接收node6与node7中flume传来的数据,并将其分别发送至hbase与kafka中,配置内容如下

a1.sources = r1
a1.channels = kafkaC hbaseC
a1.sinks = kafkaSink hbaseSink

a1.sources.r1.type = avro       
a1.sources.r1.channels = hbaseC kafkaC
a1.sources.r1.bind = node5
a1.sources.r1.port = 5555 
a1.sources.r1.threads = 5 

#****************************flume + hbase****************************** 
a1.channels.hbaseC.type = memory
a1.channels.hbaseC.capacity = 10000
a1.channels.hbaseC.transactionCapacity = 10000
a1.channels.hbaseC.keep-alive = 20

a1.sinks.hbaseSink.type = asynchbase
a1.sinks.hbaseSink.table = weblogs
a1.sinks.hbaseSink.columnFamily = info
a1.sinks.hbaseSink.serializer = org.apache.flume.sink.hbase.KfkAsyncHbaseEventSerializer
a1.sinks.hbaseSink.channel = hba
Spark上进行大数据项目可视化是指通过数据可视化技术将Spark处理和分析后的大数据结果以可视化的方式展现出来,帮助用户更直观、更清晰地理解和探索数据的特征和模式。 Spark作为一种高效且易于使用的大数据处理框架,可应用于各个行业的大数据分析与处理。然而,Spark的输出结果往往是以数据集或表格的形式呈现,对于大规模和复杂的数据集,仅通过数值或文本来表达数据特征和关联性可能有限。 大数据项目可视化可以从多个角度提供帮助。首先,可视化可以通过图形或图表来展示大规模数据的分布、趋势和关系,让用户更容易发现数据中的模式和异常。其次,可视化可以通过交互式操作,例如缩放、选择和过滤,让用户能够自定义和探索视图,从而更深入地理解数据。此外,可视化还可以通过动态和实时的方式,让用户能够随时监控和观察数据的变化。 在Spark上实现大数据项目可视化可以借助多种工具和库。例如,可以使用Python中的Matplotlib、Seaborn或Plotly库来创建静态图表,也可以使用D3.js等JavaScript库来创建交互式和动态可视化。此外,也可以使用Tableau等商业可视化工具,通过与Spark的集成,直接从Spark数据集中提取并创建可视化。另外,还有一些专门为大数据场景设计的可视化平台,如Hadoop、Hive等,可以与Spark无缝集成,提供丰富的可视化功能和工具。 综上所述,通过在Spark上进行大数据项目可视化,可以让用户更直观地了解和分析数据特征,从而支持更好地决策和发现潜在的商业机会。
评论 173
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值