过来人分享一下关于如何进入大数据领域以及学习路线吧

Java

Java语言应用在了很多大数据框架中,只有掌握了Java才能读懂源码,了解技术组件底层原理,如果是之前从事Java后端开发的就最好不过了,如果之前没做过Java后端开发,那至少需要掌握JavaSE才行。

Linux

大数据集群都是部署在linux服务器上面的,开发者需要经常和集群打交道,比如去集群上面查看日志,甚至参与部署集群和维护集群,这就需要对linux系统有一定的了解,并且需要掌握一些常用的linux命令。

Hadoop

Hadoop可是数据的关键部分,底层用java开发,从狭义上来说它分为3个部分:

  1. hdfs分布式文件存储系统,大数据方面所有数据都是存到hdfs上的,所以这也是大数据的核心,有了它才能存放数据,才能发掘数据价值,所以这一部分一定要好好掌握。
  2. mapreduce数据计算引擎,当然这个计算引擎在实际工作中很少有人去写实际代码,因为编码比较复杂,而且计算速度相较于别的框架效率太低。这个框架需要掌握核心原理部分就行了,不要求会写代码,掌握核心原理部分有利于理解其他计算框架。
  3. yarn任务调度,现在大多数大数据方面的计算框架都会把任务交给yarn调度,这个框架需要掌握任务调度的流程。

Hive

Hive是一种数据仓库工具,语法跟sql差不多,可以用写sql的形式代替mapreduce代码,省去了编写复杂mapreduce代码的部分,就算不会写代码,只要会写sql也能进行数据查询了。hive需要掌握ddl、dml以及数据存储的原理,还需要掌握调优方式。

Spark

Spark到现在还是应用在离线开发中最主要的框架,底层用scala语言开发,工作中可以选择scala或java开发(当然也有python支持的)。它比mapreduce计算效率高很多倍,而且除了应用sparkcore用代码实现逻辑,还可以用sparksql以sql的方式开发逻辑。它还提供了sparkstreaming微批处理,以及机器学习和图计算方面的计算引擎支持。在这里需要掌握spark底层各角色的作用,数据计算模型,sparkcore、sparksql以及sparkstreaming,如果从事算法方面的工作最好掌握下sparkmlib,它提供了很多机器学习算法。

Kafka

Kafka是分布式的消息队列,底层用java开发,是大数据生态中非常重要的组件之一。需要掌握kafka生产者消费者概念,并且能实现生产、消费数据,理解kafka存储模型,理解kafak高吞吐的本质以及如何保证不重复消费和数据丢失问题。

Flink

虽然spark提供了一种准实时流计算,但是现在真正用在实时方向上面的计算框架还是flink,底层应用java语言开发,实际工作中一般用java开发。flink需要掌握底层各角色的作用,数据计算模型,常用算子。另外,flink一般结合kafak使用。

Flume

日志采集工具,可以用来处理文件,监控日志文件并且输出到其它组件或者存储系统。

离线任务调度工具(oozie、azkaban等)

就是应用在离线计算时,设置定时执行的调度系统。


掌握了这些就可以算是大数据入门了,当然我上面写的只是大数据处理中比较关键的几个组件和技术,其中还有一些比如mysql、redis、sqoop、hbase等也是经常应用在大数据领域中的,这些也是需要掌握的。

最后,这只是一篇简单的大数据入门学习路线分享,有感兴趣的小伙伴欢迎一起学习交流分享!

#学习路径#
全部评论
感谢参与【创作者计划3期·技术干货场】!欢迎更多牛油来写干货,瓜分总计20000元奖励!!技术干货场活动链接:https://www.nowcoder.com/link/czz3jsgh3(参与奖马克杯将于每周五结算,敬请期待~)
点赞 回复 分享
发布于 2021-06-16 12:12

相关推荐

预计下个星期就能开奖吧,哪位老哥来给个准信
华孝子爱信等:对接人上周说的是这周
点赞 评论 收藏
分享
Bug压路:老哥看得出来你是想多展示一些项目,但好像一般最多两个就够了😂页数一般一页,多的也就2页;这些项目应该是比较同质化的,和评论区其他大佬一样,我也觉得应该展示一些最拿手的(质量>数量)😁😁😁专业技能部分也可以稍微精简一些
点赞 评论 收藏
分享
评论
2
32
分享
牛客网
牛客企业服务