聊一聊大数据学习路线

Posted 公众号程序员学长

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了聊一聊大数据学习路线相关的知识,希望对你有一定的参考价值。

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

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

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

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

如果需要这份pdf,大家可以关注公众号【程序员学长】,回复666,可得。

资料获取

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

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

整体大纲如下所示:

一、javaSE基础核心

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

1、java 基础语法

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

2、Java多线程

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

3、java 虚拟机

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

4、Mysql

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

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

二、必备工具

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私房菜》。

三、Hadoop生态体系

1、Hadoop

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

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

2、Yarn

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

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

3、Hbase

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

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

4、Hive

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

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

5、kafka

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

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

6、Zookeeper

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

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

三、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内核设计的艺术:架构设计与实现》

四、FLink生态体系

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

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

2、Druid

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

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

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

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

关注公众号,回复:学习路线,就可以得到全套的大数据学习资料,快来学起来吧。

资料获取

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

以上是关于聊一聊大数据学习路线的主要内容,如果未能解决你的问题,请参考以下文章

聊一聊粗糙集

聊一聊数据分析师这个职业

聊一聊数据分析师这个职业

聊一聊 InnoDB 引擎中的这些索引策略

聊一聊Kotlin,学习路上不陌生

深度学习基础聊一聊从感知机到神经网络