java转大数据的学习路线

1、大数据相关的工做介绍
2、大数据工程师的技能要求
3、大数据学习规划算法

大数据介绍sql

大数据本质也是数据,可是又有了新的特征,包括数据来源广、数据格式多样化(结构化数据、非结构化数据、Excel文件、文本文件等)、数据量大(最少也是TB级别的、甚至多是PB级别)、数据增加速度快等。
在这里仍是要推荐下我本身建的大数据学习交流群:529867072,群里都是学大数据开发的,若是你正在学习大数据 ,小编欢迎你加入,你们都是软件开发党,不按期分享干货(只有大数据软件开发相关的),包括我本身整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深刻大数据的小伙伴加入。图片描述shell

针对以上主要的4个特征咱们须要考虑如下问题:数据库

数据来源广,该如何采集汇总?,对应出现了Sqoop,Cammel,Datax等工具。编程

数据采集以后,该如何存储?,对应出现了GFS,HDFS,TFS等分布式文件存储系统。数组

因为数据增加速度快,数据存储就必须能够水平扩展。缓存

数据存储以后,该如何经过运算快速转化成一致的格式,该如何快速运算出本身想要的结果?网络

对应的MapReduce这样的分布式运算框架解决了这个问题;可是写MapReduce须要Java代码量很大,因此出现了Hive,Pig等将SQL转化成MapReduce的解析引擎;数据结构

普通的MapReduce处理数据只能一批一批地处理,时间延迟太长,为了实现每输入一条数据就能获得结果,因而出现了Storm/JStorm这样的低时延的流式计算框架;多线程

可是若是同时须要批处理和流处理,按照如上就得搭两个集群,Hadoop集群(包括HDFS+MapReduce+Yarn)和Storm集群,不易于管理,因此出现了Spark这样的一站式的计算框架,既能够进行批处理,又能够进行流处理(实质上是微批处理)。

然后Lambda架构,Kappa架构的出现,又提供了一种业务处理的通用架构。

为了提升工做效率,加快运速度,出现了一些辅助工具:

Ozzie,azkaban:定时任务调度的工具。
Hue,Zepplin:图形化任务执行管理,结果查看工具。
Scala语言:编写Spark程序的最佳语言,固然也能够选择用Python。
Python语言:编写一些脚本时会用到。
Allluxio,Kylin等:经过对存储的数据进行预处理,加快运算速度的工具。
以上大体就把整个大数据生态里面用到的工具所解决的问题列举了一遍,知道了他们为何而出现或者说出现是为了解决什么问题,进行学习的时候就有的放矢了。

正文
1、大数据相关工做介绍

大数据方向的工做目前主要分为三个主要方向:

大数据工程师
数据分析师
大数据科学家
其余(数据挖掘等)
2、大数据工程师的技能要求

附上大数据工程师技能图:图片描述

必须掌握的技能11条

Java高级(虚拟机、并发)
Linux 基本操做
Hadoop(HDFS+MapReduce+Yarn )
HBase(JavaAPI操做+Phoenix )
Hive(Hql基本操做和原理理解)
Kafka
Storm/JStorm
Scala
Python
Spark (Core+sparksql+Spark streaming )
辅助小工具(Sqoop/Flume/Oozie/Hue等)

高阶技能6条

机器学习算法以及mahout库加MLlib
R语言
Lambda 架构
Kappa架构
Kylin
Alluxio
3、学习路径

假设天天能够抽出3个小时的有效学习时间,加上周末天天保证10个小时的有效学习时间;

3个月会有(213+4210)3=423小时的学习时间。

第一阶段(基础阶段)

1)Linux学习(跟鸟哥学就ok了)—–20小时

Linux操做系统介绍与安装。
Linux经常使用命令。
Linux经常使用软件安装。
Linux网络。
防火墙。
Shell编程等。
2)Java 高级学习(《深刻理解Java虚拟机》、《Java高并发实战》)—30小时

掌握多线程。
掌握并发包下的队列。
了解JMS。
掌握JVM技术。
掌握反射和动态代理。
3)Zookeeper学习
Zookeeper分布式协调服务介绍。
Zookeeper集群的安装部署。
Zookeeper数据结构、命令。
Zookeeper的原理以及选举机制。

第二阶段(攻坚阶段)

4)Hadoop (《Hadoop 权威指南》)—80小时

HDFS

HDFS的概念和特性。
HDFS的shell操做。
HDFS的工做机制。
HDFS的Java应用开发。
MapReduce

运行WordCount示例程序。
了解MapReduce内部的运行机制。
MapReduce程序运行流程解析。
MapTask并发数的决定机制。
MapReduce中的combiner组件应用。
MapReduce中的序列化框架及应用。
MapReduce中的排序。
MapReduce中的自定义分区实现。
MapReduce的shuffle机制。
MapReduce利用数据压缩进行优化。
MapReduce程序与YARN之间的关系。
MapReduce参数优化。
MapReduce的Java应用开发
5)Hive(《Hive开发指南》)–20小时

Hive 基本概念

Hive 应用场景。
Hive 与hadoop的关系。
Hive 与传统数据库对比。
Hive 的数据存储机制。
Hive 基本操做

Hive 中的DDL操做。
在Hive 中如何实现高效的JOIN查询。
Hive 的内置函数应用。
Hive shell的高级使用方式。
Hive 经常使用参数配置。
Hive 自定义函数和Transform的使用技巧。
Hive UDF/UDAF开发实例。
Hive 执行过程分析及优化策略
6)HBase(《HBase权威指南》)—20小时

hbase简介。
habse安装。
hbase数据模型。
hbase命令。
hbase开发。
hbase原理。

7)Scala(《快学Scala》)–20小时

Scala概述。
Scala编译器安装。
Scala基础。
数组、映射、元组、集合。
类、对象、继承、特质。
模式匹配和样例类。
了解Scala Actor并发编程。
理解Akka。
理解Scala高阶函数。
理解Scala隐式转换。

8)Spark (《Spark 权威指南》)—60小时

enter image description here

Spark core

Spark概述。
Spark集群安装。
执行第一个Spark案例程序(求PI)。
RDD

enter image description here

RDD概述。
建立RDD。
RDD编程API(Transformation 和 Action Operations)。
RDD的依赖关系
RDD的缓存
DAG(有向无环图)
Spark SQL and DataFrame/DataSet

enter image description here

Spark SQL概述。
DataFrames。
DataFrame经常使用操做。
编写Spark SQL查询程序。
Spark Streaming

enter image description here

enter image description here

park Streaming概述。
理解DStream。
DStream相关操做(Transformations 和 Output Operations)。
Structured Streaming

其余(MLlib and GraphX )

这个部分通常工做中若是不是数据挖掘,机器学习通常用不到,能够等到须要用到的时候再深刻学习。

9)Python
10)本身用虚拟机搭建一个集群,把全部工具都装上,本身开发一个小demo —30小时

能够本身用VMware搭建4台虚拟机,而后安装以上软件,搭建一个小集群(本人亲测,I7,64位,16G内存,彻底能够运行起来)

大数据的将来前景可期,入行的人也很是的多,而如何快速的完成转型,如何快速的进入大数据领域,就须要转型者、小白去进行深入的思考。

对于小白学习大数据须要注意的点有不少,但不管如何,既然你选择了进入大数据行业,那么便只顾风雨兼程。正所谓不忘初心、方得始终,学习大数据你最须要的仍是一颗锲而不舍的心。

相关文章
相关标签/搜索