随着大数据时代的发展,越来越多的人想要学习大数据,但是又不知道从哪里开始学起,首先在学习大数据之前你需要了解大数据到底是什么?
对于大数据,它不是某个专业也不是某一门编程语言,它是由一系列技术的组合运用。接下来我将分为几个部分来讲解需要学习什么以及为什么要学习这些。
一、在下一步的学习之前,我们要先学习Java
Java学习的部分,主要以JavaSE重点,打好Java编程基础。
JavaSE的学习,大致可以参照以下路线:
对象导论:如何用面向对象的思路来开发
深入JVM:Java运行机制以及JVM原理
面向对象的特征:封装、继承、抽象、多态
数组和容器:容器的线程安全问题
I/O和NIO:NIO工作原理和应用
并发编程:concurrent包
网络编程:TCP/IP+BIO/NIOUDP/IP+BIO/NIO
JDBC框架和反射:JNDI、连接池、annotation等
其他:正则表达式、字符串等
其次,是对于企业级框架的学习,常用的SSM,也就是spring、springboot、springmvc和mybatis,需要有相应程度的了解,然后就可以进入到大数据框架的学习。
二、掌握Java后开始学习Linux
1、什么是Linux
Linux是一种操作系统,一般市面上只有windows、Linux、MacOSX、Unix这四种系统,而我们平时使用最多的系统是windows系统。
2、为什么要学习Linux
① 大数据相关软件都是在Linux上运行的。
② 掌握了Linux的基础,可以快速掌握后面的大数据处理技术。
三、大数据技术框架学习
1、有哪些主要学习的技术框架
① 入门学习:CentOS、Maven
② 进阶学习:HDFS、MapReduce、Yarn、Hbase、MongoDB、Redis、Flume、Scala、Kafka、Spark、Hive
③ 扩展学习:Flink、ES、Oozie
2、为什么学习这些技术框架
① 处理大数据需要了解这些框架的作用及基本环境的搭建,并且熟练运用这些框架可以处理大数据。
② CentOS是社区企业操作系统,一个基于Linux系统提供源代码的平台;Maven主要解决导入Java类依赖的jar,编译Java项目的主要问题,管理jar包。学习这两个主要是为了更好的学习并上手后面的大数据技术框架。
③ Hadoop的框架最核心的设计就是:HDFS和MapReduce,HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。
④ Yarn是一个分布式程序的运行调度平台,有两大核心角色ResourceManager及NodeManager,前者接受用户提交的分布式计算程序,并为其划分资源并管理、监控各个NodeManager上的资源情况,以便于均衡负载;后者管控它所在机器对的运算资源,负责接受前者分配的任务,创建容器、回收资源。
⑤ Hive和Hbase基本是大数据仓库的标配,要回用、懂调优、故障排查。
⑥ MongoDB是一种基于分布式文件存储的数据库,由C++语言编写,旨在为WEB应用提供可扩展的高性能数据存储解决方案。
⑦ Redis是一个单线程的NoSQL数据库,主要用来做数据缓存的,一般大型网站的应用和数据库之间的那一层就是Redis。
⑧ Flume是用来做数据采集的。
⑨ Kafka是一个分布式的消息系统,能够高效并实时的吞吐数据,以及通过分布式集群及数据复制冗余机制实现数据的安全。
⑩ Spark作为大数据计算的主流第二代框架,相对于前代的MapReduce计算性能得到极大提升,在主流市场受到重用,作为大数据开发者,对于Spark一定要深入学习,掌握透彻。
Flink设计为在所有常见的集群环境中运行,以内存速度和任何规模执行计算,适用于所有企业。
ES全称为Elasticsearch,是一个基于Lucense的搜索服务器;
Oozie是服务于Hadoop生态系统的工作流调度工具。
四、自学还是培训
1、自学一般是自控力强并且自学能力强的人的选择。
2、如果自己想要省麻烦是可以通过培训来学习大数据。
希望大家能够这篇文章对如何学习大数据有一些清晰的认识~