十年项目经验面试官亲传大数据面试__大数据面试独孤九剑_九剑前端(1)

需求调研、评审(4周)
设计架构(1周)
编码、集成(12周)
测试(2周)
上线部署,试运行,调优(3周)


#### 人员配置


开发人员: 6人  
 职责划分:  
 前端(JavaWeb+前端 2人)  
 大数据开发(3人)  
 运维(1人)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210611152945348.png)


### 第三剑「破刀式」技术架构(技术选项及框架版本)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210611150348250.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW55dTEyMA==,size_16,color_FFFFFF,t_70)


1. 业务系统数据主要存放到Oracle和MySQL数据库中,比如CRM系统数据在MySQL,OMS系统数据存放在Oracle中;
2. OGG增量同步Oracle数据库的数据,Canal增量同步MySQL数据库的数据;
3. OGG及Canal增量抽取的数据会写入到Kafka集群,供实时分析计算程序消费;  
 实时分析
4. 实时分析计算程序消费kafka的数据,将消费出来的数据进行ETL操作;
5. 为了方便业务部门对各类单据的查询,StructuredStreaming流式处理系统将数据经过ETL处理后,将数据写入到Elasticsearch索引中;
6. StructuredStreaming流处理会将数据写入到ClickHouse,Java Web后端直接将数据查询出来进行展示,例如:将运输车辆的GPS位置数据实时展示到GIS地图;
7. StructuredStreaming将实时ETL处理后的数据同步更新到Kudu中,方便进行数据的准实时分析、查询,Impala对Kudu数据进行即席分析查询;
8. 前端应用对数据进行可视化展示,比如数据服务接口或大屏实时刷新;


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210611152923854.png)


### 第四剑「破枪式」集群规模(业务数据量及服务器配置和数量)



此处数据量,需参考实际需要酌情考虑


#### 如何确认集群规模?(假设:每台服务器8T磁盘,128G内存)


每天日活跃用户100万,每人一天平均100条:100万\*100条=10000万条(1亿)


每条日志1K左右,每天1亿条:100000000/1024/1024=约100G  
 半年内不扩容服务器来算:100G\*180天=约18T


保存3副本:18T*3=54T  
 预留20%-30%Buf=54T/0.7=77T  
 因此:约8T*10台服务器


 如果考虑数仓分层?  
 服务器将近在扩容1-2倍  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210611151117207.png)


#### 服务器使用物理机还是云主机?


 机器成本考虑:  
  物理机:以128G内存,20核物理CPU,40线程,8THDD和2TSSD硬盘,单台报价4W出头,需考虑托管服务器费用。一般物理机寿命5年左右  
  云主机,以阿里云为例,差不多相同配置,每年5W  
  运维成本考虑:  
  物理机:需要有专业的运维人员  
  云主机:很多运维工作都由阿里云已经完成,运维相对较轻松


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210609150744730.jpg)


### 第五剑「破鞭式」数据来源及数据采集


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210611151437944.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW55dTEyMA==,size_16,color_FFFFFF,t_70)


### 第六剑「破索式」数据ETL(可能离线、可能实时)


![在这里插入图片描述](https://img-blog.csdnimg.cn/20210611151456928.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW55dTEyMA==,size_16,color_FFFFFF,t_70)


### 第七剑「破掌式」业务报表分析(离线报表、实时报表)


* 第一点:传统报表分析,各个主题报表
	+ 数据倾斜、大表与大表关联、OOM内存溢出等等
* 第二点:Impala 即席查询,SQL语句
* 第三点:ClickHouse 实时OLAP分析  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210611151525244.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3hpYW55dTEyMA==,size_16,color_FFFFFF,t_70)


### 第八剑「破箭式」数据分析引擎(Hive、Impala、Es、Spark、Flink等)


* Hive:底层MapReduce框架,“稳”
* SparkSQL:集成Hive或集成Kudu,分析数据,当然也是用StructuredStreaming
* Impala、ClickHouse:实时OLAP分析框架  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20210609153733800.png)


### 第九剑「破气式」项目问题(数据倾斜、OOM或性能优化等)


* 抛出问题,如何解决(自己解决)
* 常见性能优化,背下来:Hive性能优化、Spark性能优化(原理性东西)


例:如何避免Spark数据倾斜?  
 避免Spark数据倾斜,一般是要选用合适的 key,或者自己定义相关的 partitioner,通 过加盐或者哈希值来拆分这些 key,从而将这些数据分散到不同的 partition 去执 行。如下算子会导致 shuffle 操作,是导致数据倾斜可能发生的关键点所在: groupByKey;reduceByKey;aggregaByKey;join;cogroup;


### 总结



> 


![img](https://img-blog.csdnimg.cn/img_convert/d0eca84417c4b95c810393aca38966b9.png)
![img](https://img-blog.csdnimg.cn/img_convert/b41d80193965bd8d24417728c0842989.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

/bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值