前言前端
最近公司要求基于公司的hadoop平台作一个关于电信移动网络的数据分析平台,整个项目需求大致分为四大功能模块:数据挖掘分析、报表数据查询、GIS地理化展现、任务监控管理。因为页面功能较复杂,因此采用先后端分离方式开发。前端采用webpack+vue+vue-router+axios技术栈,后端用django进行开发。从搭建到上线,整个项目前先后后花了差很少一个月时间,中途也遇到一些问题,不过还好都解决了。因为是我的项目,因此我打算把源码贡献出来你们一块儿讨论学习。vue
源代码mysql
后端:https://github.com/dotafeiying/myprojectjquery
前端:https://github.com/dotafeiying/appfontwebpack
关于技术选型ios
因为页面交互较多,因此整个项目采用先后端分离方式开发。使用Vue.js做为前端框架,代替Django自己较为孱弱的模板引擎,Django则做为服务端提供api接口,使得先后端实现彻底分离,更适合单页应用的开发构建。nginx
使用框架git
前端:github
webpack + vue + axios + element-ui + iview + zui + jqueryweb
后端:
django + celery
数据库:
mysql + redis
数据分析:
impala + pandas + sklearn
项目目录
前端
后端
实现的功能
一、文件上传预览
二、异步任务执行
三、websocket实现实时进度
四、表格分页
五、excel文件动态导出
六、pandas数据分析
七、impala大数据实时查询分析
八、KMeans、DBSCAN聚类分析
九、距离计算算法优化
十、GIS地图展现
十一、websocket实现实时进度和动态渲染
十二、百度地图批量经纬度转换(服务端实现)
1三、历史数据流式查询,解决数据量过大问题
1四、树组件懒加载,改善用户体验
1五、excel文件流式导出
1六、celery异步任务监控管理,websocket实时监控
1七、django后台管理
1八、项目部署nginx+uwsgi+django+centos7.5
效果图:
文件上传前进行数据核查和预览
异步任务执行和实时进度
表格分页
海量点聚类分析和GIS展现
历史数据流式查询和树节点懒加载
异步任务实时监控和管理