大数据项目之深圳地铁大数据客流分析系统
项目说明:
- 该项目主要分析深圳通刷卡数据,通过大数据技术角度来研究深圳地铁客运能力,探索深圳地铁优化服务的方向;
- 强调学以致用,本项目的原则是尽可能使用较多的常用技术框架,加深对各技术栈的理解和运用,在使用过程中体验各框架的差异和优劣,为以后的项目开发技术选型做基础;
- 解决同一个问题,可能有多种技术实现,实际的企业开发应当遵守最佳实践原则;
- 学习过程优先选择较新的软件版本,因为新版踩坑一定比老版更多,坑踩的多了,技能也就提高了,遇到新问题可以见招拆招、对症下药;
- ...
第一期架构图
数字标记不分先后顺序,对应代码:
1-cn.java666.sztcommon.util.SZTData
2-cn.java666.etlflink.app.Jsons2Redis
3-cn.java666.etlspringboot.controller.RedisController#get
4-cn.java666.etlflink.app.Redis2ES
5-cn.java666.etlflink.app.Redis2Csv
6-Hive sql 脚本(开发维护成本最低)
7-Saprk 程序(开发维护成本最高,但是功能更强)
8-HUE 方便查询和展示 Hive 数据
9-cn.java666.etlflink.app.Redis2HBase
10、14-cn.java666.szthbase.controller.KafkaListen#sink2Hbase
11-cn.java666.etlflink.app.Redis2HBase
12-CDH HDFS+HUE+Hbase+Hive 一站式查询
13-cn.java666.etlflink.app.Redis2Kafka
15-cn.java666.sztflink.realtime.Kafka2MyCH
16-cn.java666.sztflink.realtime.sink.MyClickhouseSinkFun
下一步,计划开发数据湖中台解决方案
核心技术栈 + 版本选择 + 点评 (持续更新):
- Java-1.8/Scala-2.11,生态丰富,轮子够多;
- Flink-1.10,流式业务、ETL 首选。发展势头如日中天,阿里巴巴背书,轻快灵活、健步如飞;就问你信不信马云???
- Redis-3.2,天然去重,自动排序,除了快还是快。廉价版硬盘实现同类产品 SSDB。Win10|CentOS7|Docker Redis-3.2 三选一,CentOS REPL yum 安装默认使用3.2版本;
- Kafka-2.1,消息队列业务解耦、流量消峰、订阅发布场景首选。最佳 CP:kafka-eagle-1.4.5,集生产、消费、Ksql、大屏、监控、报警于一身,同时监控 zk。其他我用过的 Kafka 监控组件最后都放弃了:
- KafkaOffsetMonitor 问题太多,丑拒;
- Kafka Manager,已更名为 CMAK,老外写的软件用起来就觉得很别扭,而且最高只兼容 Kafka 0.11,但是 Kafka 官方已经升级到 2.4 了啊喂;
- 其他各种开源的 Kafka 监控基本都试过,一个能打的都没有。
- Zookeeper-3.4.5,集群基础依赖,选举时 ID 越大越优势,通过会话机制维护各组件在线状态;
- CDH-6.2,解决了程序员最难搞的软件兼容性问题,全家桶服务一键安装;
- Docker-19,最快速度部署一款新软件,无侵入、无污染、快速扩容、服务打包。如果当前没有合适的运行环境,那么 docker 一定是首选;
- SpringBoot-2.13,通用 JAVA 生态,敏捷开发必备;
- knife4j-2.0,前身为 swagger-bootstrap-ui,REST API 项目调试简直不要太方便,秒杀原版丝袜哥十个数量级;
- Elasticsearch-7,全文检索领域唯一靠谱的数据库,搜索引擎核心服务,亿级数据毫秒响应,真实时,坑也多;
- Kibana-7.4,ELK 全家桶成员,前端可视化,小白也不怕;
- ClickHouse,家喻户晓的 nginx 服务器就是俄罗斯的代表作,接下来大红大紫的 clickhouse 同样身轻如燕,但是性能远超目前市面所有同类数据库,存储容量可达PB级别。目前资料还不多,正在学习中;
- MongoDB-4.0,文档数据库,对 Json 数据比较友好,主要用于爬虫数据库;
- Spark-2.3,目前国内大数据框架实时微批处理、离线批处理主流方案。这个组件太吃资源了,曾经在我开发时,把我的笔记本搞到蓝屏,于是我直接远程提交到 spark 集群了。接下来预计 Flink 开始表演了,真的用了更快的框架就爱上了;
- Hive-2.1,Hadoop 生态数仓必备,大数据离线处理 OLAP 结构化数据库,准确来说是个 HQL 解析器,查询语法接近 Mysql,就是窗口函数比较复杂;
- Impala-3.2,像羚羊一样轻快矫健,同样的 hive sql 复杂查询,impala 毫秒级返回,hive 却需要80秒左右甚至更多;
- HBase-2.1 + Phoenix,Hadoop 生态下的非结构化数据库,HBase 的灵魂设计就是 rowkey 和多版本控制,凤凰嫁接 hbase 可以实现更复杂的业务;
- Kylin-2.5,麒麟多维预分析系统,依赖内存快速计算,但是局限性有点多啊,适用于业务特别稳定,纬度固定少变的场景,渣渣机器就别试了,内存太小带不起;
- HUE-4.3,CDH 全家桶赠送的,强调用户体验,操作数仓很方便,权限控制、hive + impala 查询、hdfs 文件管理、oozie 任务调度脚本编写全靠他了;
- 阿里巴巴 DataX,异构数据源同步工具,主持大部分主流数据库,甚至可以自己开发插件,马云家的东西,我选你!!!如果你觉得这还满足不了你的特殊业务需求,那么推荐你用 FlinkX,基于 Flink 的分布式数据同步工具。理论上你也可以自己开发插件;
- Oozie-5.1,本身 UI 奇丑,但是配合 HUE 食用尚可接受,主要用来编写和运行任务调度脚本;
- Sqoop-1.4,主要用来从 Mysql 导出业务数据到 HDFS 数仓,反过来也行;
- Mysql-5.7,程序员都要用的吧,如果说全世界程序员都会用的语言,那一定是 SQL。Mysql 8.0 普及率不够高,MariaDB 暂不推荐,复杂的函数不兼容 Mysql,数据库这么基础的依赖组件出了问题你就哭吧;
- Hadoop3.0(HDFS+Yarn),HDFS 是目前大数据领域最主流的分布式海量数据存储系统,这里的 Yarn 特指 hadoop 生态,主要用来分配集群资源,自带执行引擎 MR;
- 阿里巴巴 DataV 可视化展示;
- ...
我发现越来越多的国产开源软件用户体验值得肯定。。。
准备工作:以下是我的开发环境,仅作参考:
- Win10 IDEA 2019.3 旗舰版,JAVA|Scala 开发必备,集万般功能于一身;
- Win10 DBeaver 企业版 6.3,秒杀全宇宙所有数据库客户端,几乎一切常用数据库都可以连,选好驱动是关键;
- Win10 Sublime Text3,地表最强轻量级编辑器,光速启动,无限量插件,主要用来编辑零散文件、markdown 实时预览、写前端特别友好(虽然我不擅长
大数据项目之深圳地铁大数据客流分析系统相关推荐
- 毕业设计 - 地铁大数据客流分析系统 设计与实现
文章目录 1 前言 1.1 实现目的 2 数据集 2.2 数据集概况 2.3 数据字段 3 实现效果 3.1 地铁数据整体概况 3.2 平均指标 3.3 地铁2018年9月开通运营的线路 3.4 客流 ...
- 上海鸥新:基于大数据的商场实时客流分析系统
公司介绍 上海鸥新软件有限公司专注于室内定位技术和客流统计与分析的研发,如室内定位引擎.客流统计与分析系统.在用户导入客流系统的同时,为商业零售实体店提供了网络覆盖.微信上网,定时定地点向客户进行精准 ...
- Python数据分析初探项目 基于Python数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022年)
Python 数据分析初探项目 基于 Python 数据可视化的网易云音乐歌单分析系统 大学编程作业(TUST 天津科技大学 2022 年) Python 数据分析初探项目 基于 Python 数据可 ...
- 大数据项目一般金额多少_大数据分析师年薪一般多少?学什么专业才能从事大数据?...
近几年,大数据为各个领域带来了全新的变革,大数据的重要性越来越被企业和国家所看到,大数据工作者的需求再次被无限放大,他们的薪资和社会地位也在不断上涨.马云在演讲中就提到,未来的时代将不是IT时代,而是 ...
- 大数据项目开发案例_大数据开发相关术语解析
Java['dʒɑːvə] 当前软件开发行业应用最广.就业量最大的编程语言,在各类编程语言排行榜长期位列第一.是企业软件开发的首选语言,也是Android系统的开发语言. Java吸取了C++语言的众 ...
- python大数据项目_(价值1280)大数据项目实战之Python金融应用编程
朱彤老师,2009年博士毕业于北京大学光华管理学院金融系,对金融.数据分析与统计有着较为深刻的理解,多年来一直持续跟踪和研究金融量化分析与数据统计相关领域的进展与发展,对概率论.随机过程及其在金融中的 ...
- 大数据项目开发案例_大数据分析技术——项目案例1(猫眼电影数据分析上)...
壹 猫眼Top100电影数据分析概述 从这一节开始,我们就综合利用已学到的一些分析技术来尝试做一些比较复杂的实际数据分析项目.在这些实际的项目案例中,我们将会看到一个完整的数据分析流程:数据清理--数 ...
- 大数据毕业设计 基于时间序列的股票预测与分析系统 - 大数据分析
文章目录 1 简介 2 时间序列的由来 2.1 四种模型的名称: 3 数据预览 4 理论公式 4.1 协方差 4.2 相关系数 4.3 scikit-learn计算相关性 5 金融数据的时序分析 5. ...
- 数据项目总结 -- 深圳租房数据分析!
Datawhale干货 作者:皮钱超,厦门大学,Datawhale原创作者 本文约3000字,建议阅读9分钟 审稿人:阿泽,Datawhale成员,复旦大学计算机硕士,目前在携程担任高级算法工程师. ...
- 十大开源项目_2014年十大开源项目
十大开源项目 每年,我们都会收集Opensource.com涵盖的最佳开源项目中的最佳项目. 去年的10个项目清单在2014年全年指导着对技术有兴趣的人.现在,我们将为您设置2015年全新的开源项目清 ...
最新文章
- 关于FATFS文件系统挂载多个磁盘
- unity3d干货分享:实现敌人锥形视角的3个方法
- UVa 103 - Stacking Boxes(dp求解)
- Deep_Rank,经典ctr系列预估模型复现框架
- python反转数字_[蓝桥杯]使用列表反转的回文数(Python代码),数字,利用,取反
- 029——VUE中键盘语义修饰符
- 永磁同步电机转速电流双闭环PI+MTPA+弱磁控制Simulink仿真模型
- 浅谈计算机网络安全问题和对策
- 内蒙古自治区及其盟市行政单位中英文名称对照表
- java 时间处理工具类
- 各国货币名称中英对照
- This may be due to a lack of SYSV IPC support
- Gabby 的BLOG 开张了!
- Java高级架构师之路核心知识整理
- Python 学到什么程度才可以去找工作?掌握这 4 点足够了!
- html制作炸金花,微信小程序怎么制作炸金花?微信小程序制作炸金花的方法
- 郑大计算机专业多少分,2020年,郑大各专业分数线公布,里面门道很多,给你们一一分析...
- SAR ADC系列16:CDAC上机实践+作业
- [HDU1290]献给杭电五十周年校庆的礼物
- python精通大学_小白21天精通Python是如何做到的?
热门文章
- 什么叫一层交换机,二层交换机,三层交换机?
- win10计算机拨号连接,拨号连接设置(Win10怎么设置宽带自动连接 win10开机自动连接宽带设置方法详解)...
- STC开天斧虚拟示波器使用
- 住房和城乡建设部关于2022年第十批一级建造师注册人员名单的公告
- android最好的画图笔记app,盘点:好用的笔记类APP有哪些?
- mayapython常用模块_Maya入门之在Maya 中使用 Python 的基础知识有那些
- Adobe Premiere基础-编辑素材文件常规操作(脱机文件,替换素材,素材标签和编组,素材启用,便捷调节不透明度,项目打包)(十七)
- java的即时通讯代码,即时通讯软件源代码-求用JAVA写的开源即时通讯软件的源代码...
- 项目计划应该怎么样做?看这一篇就够了!
- matlab 画三维图像