大家好,我是ChinaManor,直译过来就是中国码农的意思,我希望自己能成为国家复兴道路的铺路人,大数据领域的耕耘者,平凡但不甘于平庸的人。
在萌新准备出去面试之前,需要针对每个大数据项目,
需整理一套属于自己基础知识,必须熟记于心,招式烂熟于心,方能无剑胜有剑!
(敲黑板) 面经源于真实10年开发经验的讲师所授,笔者只是将其写成了博客
=== 下面以某智慧物流大数据平台项目为例: ===
本项目涉及的业务数据包括订单、运输、仓储、搬运装卸等物流环节中涉及的数据、信息。由于多年的积累、庞大的用户群,每日的订单数上千万,传统的数据处理技术已无法满足企业需求。因此通过大数据分析可以提高运输配送效率、减少物流成本,更有效地满足客户服务要求,并对数据结果分析,提出具有中观指导意义的解决方案。
六个月左右
阶段划分
需求调研、评审(4周)
设计架构(1周)
编码、集成(12周)
测试(2周)
上线部署,试运行,调优(3周)
开发人员: 6人 职责划分: 前端(JavaWeb+前端 2人) 大数据开发(3人) 运维(1人)
此处数据量,需参考实际需要酌情考虑
每天日活跃用户100万,每人一天平均100条:100万*100条=10000万条(1亿)
每条日志1K左右,每天1亿条:100000000/1024/1024=约100G 半年内不扩容服务器来算:100G*180天=约18T
保存3副本:18T3=54T 预留20%-30%Buf=54T/0.7=77T 因此:约8T10台服务器
如果考虑数仓分层? 服务器将近在扩容1-2倍
机器成本考虑: 物理机:以128G内存,20核物理CPU,40线程,8THDD和2TSSD硬盘,单台报价4W出头,需考虑托管服务器费用。一般物理机寿命5年左右 云主机,以阿里云为例,差不多相同配置,每年5W 运维成本考虑: 物理机:需要有专业的运维人员 云主机:很多运维工作都由阿里云已经完成,运维相对较轻松
例:如何避免Spark数据倾斜? 避免Spark数据倾斜,一般是要选用合适的 key,或者自己定义相关的 partitioner,通 过加盐或者哈希值来拆分这些 key,从而将这些数据分散到不同的 partition 去执 行。如下算子会导致 shuffle 操作,是导致数据倾斜可能发生的关键点所在: groupByKey;reduceByKey;aggregaByKey;join;cogroup;
以上便是十年项目经验面试官亲传大数据面试独孤九剑~