我的观点比较明确,学Java可以走后端路线,但不该去走大数据路线,原因如下。
1 小公司用不到大数据,大公司不会专门做大数据。
大数据一般包含数据存储,数据分析统计和数据交互,而且数量少于10万级的都不能算大数据。所以一些小公司,可能就接个项目做业务,未必会有大数据的需求。
而大公司可能数据量确实很大,但一般是用Java后端的组件技术,比如spring cloud alibaba或分布式组件技术来处理大数据,或者是用Python来对数据进行收集清洗和建模分析,未必会用到spark或hadoop等组件来处理大数据。
所以如果单学大数据,就业面会比较窄。
2 大数据的一些技术,Java后端技术一般都能包括。
大数据一般会和高并发连一起说,大家可以想象下双十一的场景,所谓高并发大数据。从数据接收层面,一般会用网关+负载均衡来应对高并发,在数据存储层面,是用Oracle或MySQL,顶多再加MongoDB和Redis来存储海量数据。在数据处理层面,会用分库组件mycat或消息中间件来优化流程,在数据交互层面,Netty和Dubbo等组件也能通过协议,高效地传输数据。
所以如果单独去走大数据方向,哪怕是到了能有大数据需求的公司里,能干的活一般也是有限的。从技术角度来看,处理大数据用的组件其实和Java后端的分布式组件没什么差别。
对此,学java的路线可以是,先做熟单机版的增删改查,然后去挑战高并发大数据的技术,即去学各种java后端的组件,这时也能一并把大数据的组件技术学了。
相反,目前看来倒真没必要去单独学大数据,倒不是大数据技术本身不值钱,也不是大数据在企业里用不到,而是在学java后端的时候顺带把大数据一起学掉,这样的性价比更高。 |