【面试题】如何选择大数据组件?
问:公司有一个新的业务需要开展,现有的环境没有支持的大数据组件,那么要如何选择一个新的大数据组件呢?
比如:现在需要做一个实时屏展示,目前公司没有做实时数据流的项目,那么应该怎么去做技术选型呢?
第一:理解需求,搜索目前的商业公司是否有成功的案例实现,筛选有哪个可以选择的实现方案。
实时流,可以用 stom、spark streaming、flink等。
需求是秒级刷新还是需要更高的精度。
第二:公司现状,公司的环境里面有哪些组件,新加入的是否会有冲突
基本都是运行在Yarn上的插件,没什么影响。
新组件是否需要消耗很多的计算资源,是否会影响到线上的其他业务。
第三:看论文,组件的基因是否优秀。
比如:Doug Cutting 这样的奇才,看几篇论文就能设计出Hadoop、ElasticSearch这样的优秀分布式计算平台。
比如:谷歌、领英这样的有影响力的国际公司开源的组件。
第四:组件的技术架构是否先进。
比如:实时计算的批处理、微批处理、流式计算,技术架构一个比一个先进
第五:是否开源,社区是否活跃。
这以为着在使用过程中,如果碰到问题, 能否很快从网上找到解决方案。
第六:看自身实力,或者团队实力。
这个开发组件的学习曲线是否太陡峭,团队是否有大牛,可以改源码的那种。
从这六个方面去考虑的话,会比较全面,避免日后踩坑。