前言前端
最近公司要求基於公司的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展現
歷史數據流式查詢和樹節點懶加載
異步任務實時監控和管理