大数据项目开发进度(实时更新)

article/2025/10/30 6:28:39

文章目录

  • 前言
  • 项目概述
  • 项目进度
    • 第一周0525-0529:
    • 第二周0601-0605:
    • 第三周0608-0612:
    • 第四周0615-0621:(周末加班)
    • 第五周0622-0628:(周末加班)
    • 第六周0629-0705:(周末加班)
    • 第七周0706-0712:(周末加班)
    • 第八周0713-0717:
    • 第九周0720-0725:(完结)

前言

如果你从本文中学习到丝毫知识,那么请您点点关注、点赞、评论和收藏
大家好,我是爱做梦的鱼,我是东北大学大数据实验班大三的小菜鸡,非常渴望优秀,羡慕优秀的人。从5月25号我们开始了为期两个月的实习,我们需要做一个大型大数据项目,一个项目由三个学生+一个企业的项目经理完成。请大家持续关注我的专栏,我会每天更新。
github地址:https://github.com/233zzh/TitanDataOperationSystem
专栏:大数据案例实战——大三春招大数据开发
专栏:Spark官方文档解读【Spark2.4.5中英双语】
博客地址:子浩的博客https://blog.csdn.net/weixin_43124279

项目概述

我们采用迭代式开发的软件开发过程

项目进度

第一周0525-0529:

  1. 确定项目题目和项目数据来源
    题目:数据分析运营系统
    数据来源:易头条的部分埋点日志文件+(如果我们后续需要海量数据,我们就写个程序来生成模拟数据)
  2. 学会使用SVN
    TortoiseSVN使用教程【多图超详细】——大数据开发实习(一)

第二周0601-0605:

0601:分析需求1
系统前端展示参考:友盟
0602:编写版本一的软件需求规格说明文档(SRS)(张志浩)
《v1软件需求规格说明文档(SRS)——大数据开发实习(二)》
0603:进行系统架构设计(非细节设计阶段)、安装环境2
0604:继续安装环境2、编写版本一的架构设计文档(赵磊)
《v1架构设计文档——大数据开发实习(三)》
0605:设计系统前端界面
分配任务如下:
在这里插入图片描述
赵磊:概况、用户分析
王阔:存留分析、终端属性分析
张志浩:渠道分析、用户参与度分析

第三周0608-0612:

0608:继续设计系统界面原型
0609:继续设计系统界面原型
0610:继续设计系统界面原型并完成
【迭代式开发】v1前端界面展示+代码——大数据开发实习(四)
0611:确定前端请求数据格式,设计前端所需要的数据库
【ADS层表-V1】前端页面所需的数据库设计——大数据开发实战项目(五)
0612

  1. 数据库访问技术选型,从 JAP、Mybatis、JDBC Templete 中选了 JDBC Templete
  2. 完成了项目架构的分层
  3. 对前后端进行了分包
  4. 部分模块的类与方法进行了粗略设计
    赵磊:概况(完成部分)、用户分析(未完成)
    王阔:存留分析(完成部分)、终端属性分析(未完成)
    张志浩:渠道分析(完成部分)、用户参与度分析(未完成)

Web设计技术选型、分层、分包以及类与方法设计——大数据开发实战项目(五)

第四周0615-0621:(周末加班)

0615

  1. 继续完成剩下模块的类与方法的设计
    赵磊:概况(部分完成,完成部分细节问题有待讨论、实践)、用户分析(部分完成,完成部分细节问题有待讨论、实践)
    王阔:存留分析(完成,但细节问题有待讨论、实践)、终端属性分析(未完成,因为要写部分代码的demo)
    张志浩:渠道分析(部分完成,完成部分细节问题有待讨论、实践)、用户参与度分析(部分完成,完成部分细节问题有待讨论、实践)
  2. 王阔(但未完成终端属性分析模块的类与方法的设计):实现存留分析部分demo,验证可行性作为web部分代码标准

【迭代式开发v1】类与方法设计(二)——大数据开发实战项目(七)

0616

  1. 张志浩、赵磊:实际去建Web前端页面所需的数据库(以前只是设计,并没有实际建表)
  2. 王阔:Web后端部分代码实现(注:未完成终端属性模块的类与方法设计:TerminalAttributes)

【迭代式开发v1】实际去建Web前端页面所需的数据库(以前只是设计)+Web后端部分代码实现——大数据开发实战项目(八)

0617:小组讨论确定代码注释规范+Web后端类与方法代码实现
【迭代式开发v1】Web后端类与方法代码实现——大数据开发实战项目(九)
0618:继续进行Web后端类与方法代码实现+前后端交互
0619:继续进行Web后端类与方法代码实现+前后端交互
0620:继续进行Web后端类与方法代码实现+前后端交互
0621:继续进行Web后端类与方法代码实现+前后端交互

第五周0622-0628:(周末加班)

0622:继续进行Web后端类与方法代码实现+前后端交互
0623:继续进行Web后端类与方法代码实现+前后端交互
0624:继续进行Web后端类与方法代码实现+前后端交互
(基本结束)原本打算今天把web部署到服务器上,但是第一我们服务器刚被老师重启过,我们怕有问题,第二web还不太完善,比如之前我们都是各自在本地使用mysql数据库,只建了与自己模块相关的数据库表,只对自己需要的表用代码进行了数据的模拟生成和插入,而我们之后部署到服务器,大家各自的模块就都得用同一个数据库——服务器上的数据库,所以服务器上的数据必须满足每个人的模块对数据的需求。但是我们没有那么多时间去做这个了,所以将完善web+在服务器上建库和生成并模拟数据+将web部署到服务器上任务放到周末,我们现在主要任务是数仓
0625

  • 开展数仓设计(全体成员)
    • 确定使用5层结构,ODS层–>DWD层–>DWS层–>DWT层–>ADS层
    • 进行了ODS和DWD层设计

先放一个数仓设计展示图,之后补一篇博客(最近加班太多了,来不及写博客)
在这里插入图片描述
0626

  • 开展数仓设计(全体成员)
    • 进行了部分DWS、DWT层设计

0627

  • 开展数仓设计(全体成员)

    • 进行了DWT层设计,完善了ODS层、DWD层和DWS层的设计
  • 因为服务器重启过,所以需要重新启动集群的环境:(张志浩+赵磊)

    • 将Hadoop、Zookeeper启动了起来
  • 绘制数仓各表之间的关系图(王阔)

先放一个集群启动命令+报错展示图,之后补一篇博客(最近加班太多了,来不及写博客)
在这里插入图片描述

0628

  • 完善web
  • 因为服务器重启过,所以需要重新启动集群的环境

第六周0629-0705:(周末加班)

0629:将web部署到服务器上
http://www.superhao.top:12121/src/material/installation.html
0630

  • 研究ip-mapping算法(张志浩、赵磊)
  • 将集群环境全部启动(张志浩、赵磊)
  • 编写数仓部分spark任务文档(王阔)

先放ip-mapping算法的部分截图
在这里插入图片描述
先放一个数仓表之间的关系样图,之后补一个高清图(最近加班太多了)
在这里插入图片描述在这里插入图片描述

0701

  • (V1)实现ip-mapping代码初始版(spark图计算+scala)(张志浩)
  • 搭建 flume 日志采集平台(赵磊)
  • 编写模拟数据生成器业务逻辑(王阔)

0702

  • 分配hive表建表任务(全部成员)
  • 讨论了 id-mapping 的算法原理(全部成员)
  • 进一步讨论id-mapping、flume-kafka和hive任务的整合(全部成员)
  • (V2)改进ip-mapping代码初始版,考虑上一日的idmp字典整合(张志浩)
  • 实现模拟数据生成器(王阔)

0703

  • 构建spark任务的maven项目,构建完成,初步分包(王阔)
  • 完成 hive 建表(在idea写好建表sql语句,并用idea连接hive运行sql语句进行建表)(全部成员,各自完成自己的任务)
  • 在建表的过程中, hive 遇到了问题,解决问题https://blog.csdn.net/stable_zl/article/details/107111888

0704+0705

  • 小组讨论如何划分 spark 任务及实现要用到的技术
  • 复习 SparkSQL
  • 将模拟生成的数据通过 flume-kafka-flume 搭建的平台上传到 hdfs

第七周0706-0712:(周末加班)

0706

  • 进行spark任务项目结构设计(王阔)
  • 编写示例spark任务,完成了原始数据导入脚本,json解析任务(王阔)
    • 遇到的问题:spark读取hive lzo格式表遇到困难
  • 进行了 spark 的开发,将之前编写的 id-map 算法投入到我们的项目中实际使用(张志浩、赵磊)

0707

  • 把 idmap 做了完善,将其输入输出路径与实际的 hdfs 路径进行对应(以前是在win10本地目录写了几个txt文件进行测试)(张志浩、赵磊)
  • 进行spark任务编写(各自完成所分配的spark任务,遇到问题开会讨论)

0708

  • 进行spark任务编写(各自完成所分配的spark任务,遇到问题开会讨论)

0709

  • 进行spark任务编写(各自完成所分配的spark任务,遇到问题开会讨论)

0710

  • 进行spark任务编写(各自完成所分配的spark任务,遇到问题开会讨论)

0711+0712:(这周末任务少)

  • 完善spark任务
  • 讨论怎么样进行数据迁移
    • 学习了 sqoop 的相关知识,了解数据迁移的方法,但后来考虑到sqoop的底层依然是 mr,后选用spark jdbc做数据迁移
  • 完善文档

在这里插入图片描述

第八周0713-0717:

0713

  • 设计数据迁移逻辑(各自完成自己所分配部分)
    • 问题:讨论横表的更新方案,并且将其实现
      例如赵磊的base_retention_installation_day表,该表用作留存分析-留存用户中的新用户存留展示
      在这里插入图片描述
      在这里插入图片描述

0714

  • 测试写好的spark任务:因为前几天服务器集群崩了(我们需要hive数仓),所以我们写好的spark任务一直没有测试(执行)
    • 补充:我们不能在win本地用idea跑spark任务,会因为hive表为lzo压缩格式而报错

0715:编写各自的ads层数仓表到mysql的数据迁移任务代码(用SparkSQL进行迁移,以前选的是sqoop,但是sqoop的底层是mapreduce,速度大大慢于spark,所以我们最终选择了SparkSQL)

0716:去集群测试我们迁移任务代码

0717:测试atlas的使用,最终失败了,atlas无法监控hive表之间的血缘关系,我们测试了一下原因:用SparkSQL操作hive表,atlas就无法监控,但是直接在hive命令好用hiveSQL操作hive表,atlas就可以监控

第九周0720-0725:(完结)

0720、0721:编写、部署azkaban任务
0722:编写PPT、录制答辩视频
0723:编写《实训阶段总结报告》和《实训总结报告》
0724:答辩(在腾讯会议和实训项目经理对线)
0724:编写《13.T01模块部署流程手册.docx》和《14.T01用户使用手册.docx》


  1. 《v1数据分析运营系统的需求分析》
    1.整体趋势:
    基础统计数值:包括7日平均新增用户、活跃用户等,一周内、一个月内的统计量总数,总用户数。
    指定时间区间内(默认30天内每日):
    新增用户、活跃用户、启动次数、累计用户
    折线图,明细数据列表
    Top版本环形图:新增用户、活跃用户、累计用户每个版本占比
    Top渠道环形图:新增用户、活跃用户、累计用户每个渠道占比
    2.用户分析:
    a.新增用户:
    指定时间段、指定渠道和版本,每日新增用户折线图、明细数据表格
    次日存留率折线图、明细
    b.活跃用户:
    指定时间段、指定渠道和版本下,
    活跃趋势、活跃构成、活跃粘度、分时活跃用户、周,月活跃度
    c.启动次数:
    指定时间段、指定渠道和版本下,每(小时、天、周、月)的启动次数
    d.版本分布:
    指定时间段、版本下, 每天新增用户、活跃用户、启动次数折线图
    今日、昨日截至今日版本累计用户(%),新增用户,活跃用户(%),启动次数
    3.留存分析:
    a.留存用户
    指定时间段、指定渠道和版本下,每一个时间段(天、周、月)新用户和活跃用户数在接下来一段时间(天、周、月)的留存数/留存率,以表格形式和折线形式呈现。
    b.用户新鲜度:
    报表展示每天活跃用户的成分构成,并提供用户成分分析控件做进一步的分析。某日的活跃用户来源于当天新增用户、1天前新增用户…30天前新增用户、30+天前新增用户。
    c.用户活跃度:
    报表展现每个天级时间点的当日活跃用户的活跃程度。
    4.渠道分析:
    a.渠道列表:
    指定时间段、指定版本,各渠道新增用户、活跃用户、启动次数
    5.用户参与度
    a.使用时长:
    指定某一天、指定渠道和版本下,单次使用时长分布柱形图,明细表格。
    该天每个活跃用户使用时长分布柱形图、明细表格。
    b.使用频率:
    指定日期,指定版本、渠道,当日、上周、上个月使用次数分布柱形图,明细表格。
    c.访问页面:
    指定时间段(一天、一周、一个月)、指定渠道和版本下,访问页面分布柱形图,明细表格。
    d.使用间隔:
    查看任意30天内用户相邻两次启动间隔的分布情况,并可以进行版本、渠道及分群的筛选。以柱形图、明细表格形式展示。
    6.终端属性:
    a.设备终端:
    指定时间段(一天、一周、一个月)、指定渠道和版本下 ,top10机型、分辨率、操作系统的新增用户/启动次数柱状图、明细表格。
    b.网络及运营商:
    指定时间段(一天、一周、一个月)、指定渠道和版本下 ,各种联网方式的新增用户/启动次数柱状图、明细表格。
    c. 地域:
    指定时间段(一天、一周、一个月)、指定渠道和版本下 ,各省市的新增用户/活跃用户/启动次数柱状图(top10省)、明细表格(省市)。 ↩︎

  2. 所需安装环境为:

    1. jdk1.8.0_151、
    2. mysql-5.7.28、
    3. hadoop-3.2.1、
    4. flume-1.9.0、
    5. azkaban-3.90.0
    6. zookeeper-3.6.1、
    7. hive-3.1.2、
    8. spark-3.0.0
    9. scala-2.11.12
    10. kafka-2.4.1、
    11. (hbase-2.2.5、solar-8.5.2这两个是atlas安装的前置)
    12. atlas-2.0.0、
    13. sqoop-1.99.7

    每个环境的作用:
    数据采集传输:

    • Flume:分布式日志数据汇聚
    • Kafka:实时采集(计算)的缓冲
    • Sqoop:离线批量抽取数据库

    数据存储:

    • Mysql
    • HDFS

    数据计算:

    • Spark

    数据可视化:

    • Echarts

    job任务调度:

    • Azkaban

    元数据管理:

    • Atlas
    ↩︎ ↩︎

http://chatgpt.dhexx.cn/article/TLT7rb1t.shtml

相关文章

大数据项目需求分析

以大数据项目为主线,技术理论与项目实践相结合,按照大数据项目的开发流程逐步推进,本文主要讲解项目的需求分析、架构设计以及离线和实时数据流程设计,然后提前规划好大数据项目需要的集群,按照项目的实现逻辑&#xf…

大数据项目篇--项目架构图

文章目录 离线架构离线架构-表信息离线架构-ETL信息 实时架构 离线架构 离线架构-表信息 离线架构-ETL信息 实时架构

客快物流大数据项目学习框架

文章目录 客快物流大数据项目学习框架 前言 一、项目简介 二、功能介绍 三、项目背景 四、服务器资源规划 五、技术亮点及价值 六、智慧物流大数据平台 客快物流大数据项目学习框架 前言 利用框架的力量,看懂游戏规则,才是入行的前提 大多数人…

大数据项目流程

一、项目流程 1)需求概况:实现目标是什么? ——— 通过大数据获取什么信息 2)需求分析:用什么样的数据,实现什么样的效果。 数据源的考量(数据的种类和量的大小),数据…

农业大数据项目

小白学苑开始承接大数据定制项目和大数据实训项目啦!欢迎联系合作! 下面是近期客户定制的农业大数据项目结果展示: 一、项目需求: 搭建一个基于Hadoop大数据分析框架的农业大数据系统,该系统框架以我国农业的水果产业…

常见的大数据项目

大数据项目最重要的两个特点是数据量大,实时性要求强,这也是与小数据和传统数据处理方式的最重要的区别。 大数据领域的主打项目,如下所示: 大数据领域的项目,主要分成以下几个部分 数据的整合,也就是数据…

【大数据】9大实战项目解决你所有烦恼(写论文、找工作)

你还在为“网上资料多而杂,不系统,不连贯,非常浪费时间”而烦恼么? 你还在为“学习碰到问题无人辅导,问题积累长期不解决,打击学习信心”而烦恼么? 你还在为“没有项目经验,投简历…

win10安装ubuntu虚拟机

第一步:下载virtualbox和ubuntu镜像文件 1、virtualbox下载地址: https://www.virtualbox.org/wiki/Downloads 选择Windows hosts 文件不大,103MB,可以直接在网页上下载 2、ubuntu iso下载地址: http://releases.u…

在VMware实验Ubuntu虚拟机的使用

目录 下载Ubuntu18.04 安装Ubuntu虚拟机 先安装一个Ubuntu再说 然后再来调试 开始使用! 调整页面 正式测试开始! 结果验证 时隔多日。。。。 改进 今天我们来尝试在VMware中弄一个Ubuntu虚拟机来使用 下载Ubuntu18.04 首先,我们要…

本机与Ubuntu虚拟机共享文件

1、找到你的虚拟机并右击,弹出的选项卡选择设置 2、点击选项》共享文件夹》单选总是启用》点击添加你的文件路径》点击确定 3、然后进入到虚拟机桌面点击文件选择其他地方选择计算机 4、然后再依次进入红框里的路径就可以访问本机的共享的文件了。 完! 路…

Ubuntu虚拟机镜像下载及创建

一、下载ubuntu镜像 1.下载ubuntu镜像 ubuntu下载网址: https://mirrors.neusoft.edu.cn/ubuntu-releases/20.04.5/ 或者https://mirrors.aliyun.com/ubuntu-releases/20.04.5/ 然后选择如下: 二、安装ubuntu虚拟机 1.安装ubuntu虚拟机 打开VMware…

Ubuntu虚拟机添加网卡

目录 零、配置环境 一、添加网卡 1. 虚拟机 -> 设置 2. 添加网络适配器 3. 修改网络连接方式 4. 确定 5. 编辑 -> 虚拟网络编辑器 6. 添加指定网卡名称 -- end -- 二、ifconfig -a 附加 零、配置环境 安装环境:VMware Workstation 16 Pro 安装系统…

mac pro M1(ARM)安装:ubuntu虚拟机(四)

0. 引言 前面几期我们分别讲解了如何在mac m1环境下安装linux、window虚拟机,而很多应用场景中需要用到ubuntu虚拟机,所以这次我们来单独讲讲如何在mac m1环境下安装ubuntu虚拟机 1. 下载 1.1. 下载VMware Fusion 本次演示我们选择通过VMware来安装虚…

VMware创建Ubuntu虚拟机

VMware创建Ubuntu虚拟机 1、镜像下载2、点击新建虚拟机3、选择“典型”4、选择Ubuntu镜像文件位置5、输入系统账户信息6、选择虚拟机存放位置7、设置指定磁盘容量8、确认安装信息,并点击完成9、等待安装10、自动安装VM-tool11、点击登录,输入密码12、安装…

Ubuntu虚拟机磁盘空间不够,如何扩容

Ubuntu虚拟机磁盘空间不够,如何扩容 一、软件版本 1.vmware 15.5.0 2.ubuntu 20.04 二、操作步骤 1.打开虚拟机设置,点击硬盘 2.点击扩展 3.此处我由50G增加到70G,点击扩展 4.开启虚拟机 5.点击磁盘 6.看到有21G的未分配的磁盘…

如何在win10上安装ubuntu虚拟机-图文详细教程

前言(和我一样的小白快来看看~) 本文将在win10上安装ubuntu虚拟机的步骤一步步记录了下来~希望对大家有帮助 方法大概是先装一个虚拟化软件(virtualbox),然后在这个软件上新增一台虚拟电脑机,这样我们就等于有了一台没…

Ubuntu 虚拟机无法联网(NAT模式下)- 解决方法

想要在 Ubuntu16.04 虚拟机上安装 git 克隆仓库,只需在 Ubuntu 终端输入以下命令即可: sudo apt-get install git 但是我在输入之后并未安装成功,反而显示以下结果: 全部都是 --- 暂时不能解析域名“cn.archive.ubuntu.com” 接着…

利用VMware创建Ubuntu虚拟机

目录 前言 一、准备 1.下载Ubuntu20.04镜像源 2.下载VMware Workstation Pro 16.2.2 二、构建新虚拟机 三、第一次开启虚拟机,自动安装Ubuntu 四、后续初始化操作 1.第二次打开虚拟机 2.换源 3.换源后切换为中文 4.pycharm相关问题 pycharm“Failed to c…

Ubuntu虚拟机安装VMware Tools

一、前言 在工作中,经常会用到Windows、Linux双系统,一般都会采用虚拟机运行Linux系统的方案。系统间的文件传输、复制粘贴啥的很不方便,但是安装了VMware Tools之后就很方便,复制粘贴一站式,文件传输直接拖拽就行。 …

ubuntu虚拟机快速安装指南

一. 虚拟安装需求 由于不同开发包对开发环境的需求不一样,可能存在冲突的现象,有时需要多个虚拟机。有时虚拟机环境出现损坏(linux系统容易出现问题),需要修复但难度较大,所以存在快速搭建新环境&#xff…