聊一聊大数据学习路线图

举报
程序员学长 发表于 2022/02/11 18:50:58 2022/02/11
【摘要】 大家好,我是程序员学长。距离上次更文已经相隔一个多月了,大家不会把我给忘了吧,哈哈~~由于最近一直在忙家里装修的事情,所以就一直没精力去更新文章,好在基本已经搞得差不多了,也可以回归了,等彻底搞定了,给大家分享出来。金三银四马上就要到了,去年更新的高频算法系列基本已经更新完事了,一共有100多道面试高频题,每道题都有详细的解析。如果需要这份pdf,大家可以关注公众号,回复666,可得。资料获...

大家好,我是程序员学长。

距离上次更文已经相隔一个多月了,大家不会把我给忘了吧,哈哈~~

由于最近一直在忙家里装修的事情,所以就一直没精力去更新文章,好在基本已经搞得差不多了,也可以回归了,等彻底搞定了,给大家分享出来。

金三银四马上就要到了,去年更新的高频算法系列基本已经更新完事了,一共有100多道面试高频题,每道题都有详细的解析。

image-20220210183501930

如果需要这份pdf,大家可以关注公众号,回复666,可得。

资料获取

最近有小伙伴问我,到底该如何学习大数据呢?有什么推荐的书籍吗?

这里特地给大家整理了一份学习大数据的路线图,并且把自己觉得不错的书也给大家整理出来了,跟着学长走,学习大数据不迷路。

整体大纲如下所示:

image-20220211113001288

一、javaSE基础核心

大数据中的大部分组件都是用java语言开发的,并且在日常的开发中大部分也是使用java语言进行开发的,所以java是学习大数据的基础。

1、java 基础语法

java基础语法推荐大家看 《java核心技术》,分为卷I和卷II。

image-20220210220529373

2、Java多线程

学完基础之后,推荐大家学习一下java多线程相关的知识,这里推荐《java并发编程的艺术》。

image-20220210221656316

3、java 虚拟机

java虚拟机部分推荐大家看周志明老师的《深入理解java虚拟机》,作为最畅销的jvm相关的书籍,质量可想而知。建议大家多读几遍。

image-20220210221144057

4、Mysql

搞大数据的都习惯调侃自己是SQL Boy,所以说Sql是必须掌握的。在大数据存储组件中,包含很多分布式数据库,都需要编写一定的 SQL 代码,而这些都是以 SQL 语法为基础的。

这里推荐《MySQL技术内幕InnoDB存储引擎》。

image-20220210222327756

二、必备工具

1、IDEA

IDEA 全称 IntelliJ IDEA,是 Java 编程语言开发的集成环境。目前在业界被公认为最好的 Java 开发工具。

其官网地址是:https://www.jetbrains.com/idea/

大家可以在本地安装一下,体会一下使用该工具进行java开发。

2、Maven

Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。

大家可以去菜鸟教程进行学习。

https://www.runoob.com/maven/maven-tutorial.html

3、Git

Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

大家可以去菜鸟教程上学习。

https://www.runoob.com/git/git-tutorial.html

4、Linux

在企业中,大数据组件都是部署在linux上的,所以我们需要学会常用的linux命令。

这里推荐《鸟哥的Linux私房菜》。

image-20220210223518503

三、Hadoop生态体系

1、Hadoop

Hadoop 是分布式系统的基础架构。Hadoop 框架包括 HDFS 和 MapReduce。其中HDFS 提供了海量数据的存储,MapReduce为海量数据提供了计算。

这里推荐《Hadoop权威指南》和《Hadoop技术内幕》系列。

image-20220210225429095

image-20220210225738806

image-20220210225808787

2、Yarn

Yarn 是一个通用资源管理器,可为上层应用提供统一的资源管理和调度。

这里推荐《hadoop技术内幕》系列中,关于yarn的部分。

image-20220210230134920

3、Hbase

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的 Google 论文 “Bigtable”。HBase在Hadoop之上提供了类似于Bigtable的能力。

这里推荐《Hbase权威指南》这本书。

image-20220211101953803

4、Hive

Hive 是基于 Hadoop 的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在 Hadoop 中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转变成MapReduce任务来执行。

Hive也是我们在日常工作中用到最多的组件。这里推荐《Hive编程指南》这本书。

image-20220211102759320

5、kafka

Kafka是由Apache软件基金会开发的一个开源流处理平台,是一种高吞吐量的分布式发布订阅消息系统。

这里推荐《深入理解Kafka(核心设计与实践原理)》这本书。

image-20220211103234900

6、Zookeeper

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。

这里推荐《ZooKeeper:分布式过程协同技术详解》这本书。

image-20220211103657643

三、Spark生态体系

1、Scala基础语法

Spark是采用Scala进行开发的,我们在日常开发Spark、FLink程序时,都会或多或少的用到Scala开发语言,这里推荐去菜鸟教程上去学习就可以。

https://www.runoob.com/scala/scala-tutorial.html

2、Spark

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark 是 UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是-Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。

Spark是目前企业中使用最多的流式计算框架,这里推荐《Spark内核设计的艺术:架构设计与实现》

image-20220211105627377

四、FLink生态体系

1、FLink

Apache Flink是由Apache软件基金会开发的开源流处理框架,其核心是用Java和Scala编写的分布式流数据流引擎。Flink是一个以流为核心的分布式计算引擎。具备流批一体,高吞吐、低延迟,容错能力,大规模复杂计算等特点。

这里推荐《Flink内核原理与实现》和《基于Apache Flink的流处理》。

image-20220211110125996

image-20220211110232874

2、Druid

Druid 作为一款开源的实时大数据分析软件,最近几年快速风靡全球互联网公司,特别是对于海量数据和实时性要求高的场景,包括广告数据分析、用户行为分析、数据统计分析、运维监控分析等,在腾讯、阿里、优酷、小米等公司都有大量成功应用的案例。

这里推荐《Druid实时大数据分析原理与实践》这本书。

image-20220211110547686

以上就是我结合个人经验,总结出来的学习大数据的路线图,真的是非常不容易。

重磅消息来了,以上提到的数据,学长都给你们准备好了电子版,还不快来领取。

资料获取地址

跟着学长走,进入大厂不迷路~

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。