提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

  • 一、 课程设计背景概述
    • 1、 《IP经纬热力图》概述
    • 2、 《电商分析系统》概述
  • 二、需求分析
    • 1、《IP经纬热力图》需求分析
    • 2、《电商分析系统》需求分析
  • 三、 概要设计
    • 1、 《IP经纬热力图》数据分析
    • 2、 《电商平台》数据分析
  • 四、 运行及调试结果
    • 1、 《IP经纬热力图》运行结果截图
    • 2、《电商分析系统》运行结果截图

一、 课程设计背景概述

1、 《IP经纬热力图》概述

  在今年疫情背景下,大家看到过疫情确诊地图吧!通过不同色重来表示确诊病例的多少。并切在日常生活中,我们经常使用到的例如百度App、高德App等的一些地图工具。在使用的时候,可能我们自己会去提前查看当前路径是否拥堵,畅通的路段显示为绿色、拥塞的路段显示为红色、极度拥堵的显示为黑色等一些路段情况。
  这些其实都是热力图的一种表现。
&emsp ;这些数据生产自我们的手机,被采集到某些站点服务器,再通过一些算法统计、绘制相应的动态或静态的地图,产生一种比较直观、易读的信息。
  而我们这次设计的也与之相关,主要是会统计今年的热门旅游城市、热门报考学校等,并将这样的信息显示在热点图中。因此,我们需要通过日志信息(运行商或者网站自己生成)和城市ip段信息来判断用户的ip段,统计热点经纬度、热门城市等指标。

2、 《电商分析系统》概述

  其主要是对用户的浏览记录和公有信息进行收集,然后进行算法分析,例如用户的搜索、收藏等行为。
  同时,并得出一系列的统计指标,借助这些统计指标知道电商平台中的商品推荐、广告推送和网站的优化工作等。
  例如网易云音乐的猜你喜欢、抖音的令人上瘾的推荐等。
  上报到服务器的埋点日志会经过数据采集、过滤、存储、分析、可视化这一完整流程,电商平台通过对海量用户行为数据分析,可以对用户精准的用户画像,同时,对用户行为的分析,也可以帮助电商网站找到网站的优化思路,从而在海量用户数据的基础上对网站进行改进和完善。

&emsp

二、需求分析

1、《IP经纬热力图》需求分析

  我们需要通过日志信息(运行商或者网站自己生成)和城市ip段信息来判断用户的ip段,统计热点经纬度、热门城市等指标。我们决定使用spark来实现上述功能。

2、《电商分析系统》需求分析

  本项目来源于企业级电商网站的大数据统计分析平台,该平台以 Spark框架为核心,对电商网站的日志进行离线和实时(在线)分析。
  该大数据分析平台对电商网站的各种用户行为(访问行为、购物行为、广告点击行为等)进行分析,根据平台统计出来的数据,辅助公司中的 PM(产品经理)、 数据分析师以及管理人员分析现有产品的情况,并根据用户行为分析结果持续改进产品的设计,以及调整公司的战略和业务。最终达到用大数据技术来帮助提升公司的业绩、营业额以及市场占有率的目标。
  用户的每一次操作,其实可以理解为一个 action,在本项目中,我们关注点击、 搜索、下单、支付这四个用户行为。
  每一条用户访问行为数据就记录了用户的一次操作,也就是说用户的每次点击/搜索/下单/支付行为,就会产生一条用户访问行为数据,在一次Session中包含着用户的多个行为,那么也就会产生多条用户访问行为数据。

三、 概要设计

1、 《IP经纬热力图》数据分析

主要为本地的ip规则表和日志文件

日志文件:log.format

Ip规则表: ip.txt

  RDD的创建

1.创建SparkContext

2.加载ip规则文件

3.获取ip起始范围(2)、结束范围(3)、城市信息(4,5,6,7,8)、经度(13)、维度(14)

4.加载日志文件

5.将日志的ip分割出来
6.将ip转为数字,并使用二分查找去ipRules中查找出相应的城市信息,记为((城市,经度,纬度),1)

7.将((城市,经度,维度),1)进行聚合得出统计结果

8.将结果数据写入到MySQL中

准备数据库表

CREATE TABLE `iplocaltion` (`id` bigint(20) NOT NULL AUTO_INCREMENT,`city` varchar(255) DEFAULT NULL,`longitude` varchar(255) DEFAULT NULL,`latitude` varchar(255) DEFAULT NULL,`total_count` bigint(20) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

2、 《电商平台》数据分析

获取每天点击、下单和购买排名前 10 的品类:



图 1-1 离线/实时采集框架
  本项目分为离线分析系统与实时分析系统两大模块。
  在离线分析系统中,我们将模拟业务数据写入 Hive 表中,离线分析系统从 Hive中获取数据,并根据实际需求(用户访问 Session 分析、页面单跳转化率分析、各区域热门商品统计)对数据进行处理,最终将分析完毕的统计数据存储到 MySQL 的对应表格中。

  在实时分析系统中,我们将模拟业务数据写入 Kafka 集群中,实时分析系统从Kafka broker 中获取数据,通过 Spark Streaming 的流式处理对广告点击流量进行实时分析,最终将统计结果存储到MySQL的对应表格中。

  一个user_id可以对应多条session_id,用户多次登录退出电商网站。
  一个session_id对应多条action数据,一个用户一次登录电商网站,有多个操作。

获取每天点击、下单和购买排名前 10 的品类:

  用户 session,是在电商平台的角度定义的会话概念,指的就是,从用户第一次进入首页,session 就开始了。然后在一定时间范围内,直到最后操作完(可能做了几十次、甚至上百次操作),离开网站,关闭浏览器,或者长时间没有做操作,那么 session 就结束了。
  以上用户在网站内的访问过程,就称之为一次 session。简单理解,session 就是某一天某一个时间段内,某个用户对网站从打开/进入,到做了大量操作,到最后关闭浏览器。的过程,就叫做 session。
session 实际上就是一个电商网站中最基本的数据和大数据。那么面向消费者用户端的大数据分析(C 端),最基本的就是面向用户访问行为/用户访问 session 的分析。
  用户在电商网站上,通常会有很多的访问行为,通常都是进入首页,然后可能点击首页上的一些商品,点击首页上的一些品类,也可能随时在搜索框里面搜索关键词,还可能将一些商品加入购物车,对购物车中的多个商品下订单,最后对订单中的多个商品进行支付。
  用户的每一次操作,其实可以理解为一个 action,在本项目中,我们关注点击、 搜索、下单、支付这四个用户行为。
每一条用户访问行为数据就记录了用户的一次操作,也就是说用户的每次点击/搜索/下单/支付行为,就会产生一条用户访问行为数据,在一次Session中包含着用户的多个行为,那么也就会产生多条用户访问行为数据。
  该模块主要是对用户访问 session 进行统计分析,包括 session 聚合指标计算、 按时间比例随机抽取 session、获取每天点击、下单和购买排名前 10 的品类、并获取 top10 品类中排名前 10 的 session。该模块可以让产品经理、数据分析师以及企业 管理层形象地看到各种条件下的具体用户行为以及统计指标,从而对公司的产品设 计以及业务发展战略做出调整。主要使用 Spark Core 实现。

四、 运行及调试结果

1、 《IP经纬热力图》运行结果截图

2、《电商分析系统》运行结果截图


源码打包↓
链接:https://pan.baidu.com/s/1bjQkyl79E4FVb0jahP-OTA
提取码:5556

萌新Java开发实战记录:大数据开发之”IP热力图、地点热门TopN(文章底部附源码)相关推荐

  1. Android App开发实战项目之仿喜马拉雅的听说书App实现(超详细 附源码和演示视频)

    需要全部源码请点赞关注收藏后评论区留下QQ~~~ 一.需求分析 用户不仅能在平台上收听音频,还能成为内容创作者,总之长音频分享平台需要满足两种角色的使用:一种是作为内容创作者发布自己的音频,另一种是作 ...

  2. 数据库开发工程师转行大数据开发可以吗?

    对有工作经验想转行大数据开发主要考察三个方面,一是基础,二是学习能力,三是解决问题的能力. 基础很好考察,给几道笔试题做完基本上就知道什么水平了.数据库开发工程师转大数据开发怎么样? 首先给大家普及一 ...

  3. php 内容采集_php开发工程师和大数据开发工程师有什么区别

    通过岗位职责.工作内容,告诉你php开发工程师和大数据开发工程师的区别?还为你对比php开发工程师和大数据开发工程师的学历要求.经验要求.工资待遇,为你揭晓php开发工程师和大数据开发工程师哪个好? ...

  4. python二手交易平台代码_PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二手急速响应捡垃圾平台_3(附源码持续更新)...

    说明 文章首发于HURUWO的博客小站,本平台做同步备份发布. 如有浏览或访问异常图片加载失败或者相关疑问可前往原博客下评论浏览. 原文链接 PYTHON爬虫实战_垃圾佬闲鱼爬虫转转爬虫数据整合自用二 ...

  5. C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码...

    C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码 原文:C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码 前言 系列 ...

  6. C#使用Xamarin开发可移植移动应用进阶篇(8.打包生成安卓APK并精简大小),附源码

    我记得,之前在写安卓方面的文章的时候,有人就问过我.Xamarin.Android为什么打包出来这么大?随便一个HelloWord就20-30MB? 嗯..今天我们就来解决这个问题.. 我们先从指定一 ...

  7. C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码...

    原文:C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码 前言 系列目录 C#使用Xamarin开发可移植移动应用目录 源码地址:https://github. ...

  8. C#使用Xamarin开发可移植移动应用进阶篇(7.使用布局渲染器,修改默认布局),附源码

    本篇..基本可以算是Xamarin在应用开发过程中的核心了..真的很很很重要.. 想学习的..想用的..建议仔细阅读..嗯..打酱油的 ..快速滑倒下面点个推荐 - - 哈哈哈... 今天的学习内容? ...

  9. JAVA计算机毕业设计融呗智慧金融微资讯移动平台小程序端(附源码、数据库)

    JAVA计算机毕业设计融呗智慧金融微资讯移动平台小程序端(附源码.数据库) 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ ...

最新文章

  1. 【 转 】Keepalived工作原理
  2. java学习与总结:反射及动态代理
  3. C/C++之常用关键字
  4. 切记:只有肯吃苦才能赚大钱!
  5. 另一个域的cookie_一定要知道的第一方Cookie和第三方Cookie
  6. 【HDU - 1013 】Digital Roots (大数模拟)
  7. python的三个特性_Python3.9的7个特性
  8. java播放声音类和一个简单示例
  9. 我的docker随笔5:docker-compose的安装与使用
  10. 微信网页授权获取用户信息实战代码
  11. 使用Gotestwaf测试WAF检测能力
  12. 自己动手编译nodemcu固件(ESP8266)
  13. python 打印数组_python打印数组的全部元素 | 学步园
  14. 微软清理助手msicuu2.exe
  15. matlab如何用二分法求函数零点,用二分法求函数的零点及二分法定义
  16. C语言波形实现三角波和正弦波
  17. Spring的bean是怎么保证线程安全的
  18. 苹果笔记本linux系统安装教程视频教程,苹果系统安装教程,小编教你苹果电脑怎么重装系统...
  19. C# Word脚注和交叉引用功能
  20. 一些常用的mysql语句实例-以后照写2

热门文章

  1. 一次网络钓鱼后台的应急分析
  2. Python学生公寓管理系统的设计与实现 毕业设计-附源码181047
  3. vb调用surfer实现数据的网格化
  4. chrony系统授时时,几条重要命令输出信息的含义
  5. 免杀Veil-evasion
  6. 【植物大战僵尸-4】种植物无CD扩展,实现cs1.6秒换弹
  7. R-FCN论文翻译——中英文对照
  8. 身份证实名核验api
  9. python读取pdf内容转word_Python实现PDF转Word
  10. GEE1:由GEE生成逐月MODIS的NDVI影像