想做数据工程师?从零开始系统规划大数据学习之路

大数据的领域非常广泛,往往使想要开始学习大数据及相关技术的人望而生畏。大数据技术的种类众多,这同样使得初学者难以选择从何处下手。

我写此文是给大家学习大数据提供一个思路以及在大数据产业领域找到工作指路明灯,提供帮助。

1.如何开始?

2.在大数据领域有哪些职位需求?

3.如何成为一名大数据工程师?

 

 

你需要了解的系统和结构

学习去设计解决方案并且学习相关技术

 

对大数据感兴趣的,想转行大数据的,想学习项目经验的,欢迎加群:199427210一起学习,相互讨论!

 

1.如何开始?

想做数据工程师?从零开始系统规划大数据学习之路

 

人们想开始学习大数据的时候,最常问我的问题是,“我应该学Hadoop(还是Spark(Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处)?”

而我通常只有一个答案:“这取决于你究竟想做什么。”

想做数据工程师?从零开始系统规划大数据学习之路

 

想做数据工程师?从零开始系统规划大数据学习之路

 

这两个点对于学习大数据来说是必须要学会的

2. 在大数据行业有哪些职业需求?

在大数据行业中有很多领域。通常来说它们可以被分为两类:

大数据工程

大数据分析

这些领域互相独立又互相关联。

大数据工程涉及大量数据的设计,部署,获取以及维护(保存)。大数据工程师需要去设计和部署这样一个系统,使相关数据能面向不同的消费者及内部应用。

而大数据分析的工作则是利用大数据工程师设计的系统所提供的大量数据。大数据分析包括趋势、图样分析以及开发不同的分类、预测预报系统。

因此,简而言之,大数据分析是对数据的高级计算。而大数据工程则是进行系统设计、部署以及计算运行平台的顶层构建。

3.如何成为一名大数据工程师

我们知道大数据领域充斥着多种技术。因此,你学习与你的大数据工作角色相关的技术非常重要。这与任何常规领域有点不同,如数据科学和机器学习中,你可以从某些地方开始并努力完成这一领域内的所有工作。

大数据学习入门必备规划

 

 

一、大数据技术基础

1、linux操作基础

· linux系统简介与安装

· linux常用命令–文件操作

· linux常用命令–用户管理与权限

· linux常用命令–系统管理

· linux常用命令–免密登陆配置与网络管理

· linux上常用软件安装

· linux本地yum源配置及yum软件安装

· linux防火墙配置

· linux高级文本处理命令cut、sed、awk

· linux定时任务crontab

2、shell编程

· shell编程–基本语法

· shell编程–流程控制

· shell编程–函数

· shell编程–综合案例–自动化部署脚本

3、内存数据库redis

· redis和nosql简介

· redis客户端连接

· redis的string类型数据结构操作及应用-对象缓存

· redis的list类型数据结构操作及应用案例-任务调度队列

· redis的hash及set数据结构操作及应用案例-购物车

· redis的sortedset数据结构操作及应用案例-排行榜

4、布式协调服务zookeeper

· zookeeper简介及应用场景

· zookeeper集群安装部署

· zookeeper的数据节点与命令行操作

· zookeeper的java客户端基本操作及事件监听

· zookeeper核心机制及数据节点

· zookeeper应用案例–分布式共享资源锁

· zookeeper应用案例–服务器上下线动态感知

· zookeeper的数据一致性原理及leader选举机制

5、java高级特性增强

· Java多线程基本知识

· Java同步关键词详解

· java并发包线程池及在开源软件中的应用

· Java并发包消息队里及在开源软件中的应用

· Java JMS技术

· Java动态代理反射

6、轻量级RPC框架开发

· RPC原理学习

· Nio原理学习

· Netty常用API学习

· 轻量级RPC框架需求分析及原理分析

· 轻量级RPC框架开发

二、离线计算系统

1、hadoop快速入门

· hadoop背景介绍

· 分布式系统概述

· 离线数据分析流程介绍

· 集群搭建

· 集群使用初步

2、HDFS增强

· HDFS的概念和特性

· HDFS的shell(命令行客户端)操作

· HDFS的工作机制

· NAMENODE的工作机制

· java的api操作

· 案例1:开发shell采集脚本

3、MAPREDUCE详解

· 自定义hadoop的RPC框架

· Mapreduce编程规范及示例编写

· Mapreduce程序运行模式及debug方法

· mapreduce程序运行模式的内在机理

· mapreduce运算框架的主体工作流程

· 自定义对象的序列化方法

· MapReduce编程案例

4、MAPREDUCE增强

· Mapreduce排序

· 自定义partitioner

· Mapreduce的combiner

· mapreduce工作机制详解

5、MAPREDUCE实战

· maptask并行度机制-文件切片

· maptask并行度设置

· 倒排索引

· 共同好友

6、federation介绍和hive使用

· Hadoop的HA机制

· HA集群的安装部署

· 集群运维测试之Datanode动态上下线

· 集群运维测试之Namenode状态切换管理

· 集群运维测试之数据块的balance

· HA下HDFS-API变化

· hive简介

· hive架构

· hive安装部署

· hvie初使用

7、hive增强和flume介绍

· HQL-DDL基本语法

· HQL-DML基本语法

· HIVE的join

· HIVE 参数配置

· HIVE 自定义函数和Transform

· HIVE 执行HQL的实例分析

· HIVE最佳实践注意点

· HIVE优化策略

· HIVE实战案例

· Flume介绍

· Flume的安装部署

· 案例:采集目录到HDFS

· 案例:采集文件到HDFS

三、流式计算

1、Storm从入门到精通

· Storm是什么

· Storm架构分析

· Storm架构分析

· Storm编程模型、Tuple源码、并发度分析

· Storm WordCount案例及常用Api分析

· Storm集群部署实战

· Storm+Kafka+Redis业务指标计算

· Storm源码下载编译

· Strom集群启动及源码分析

· Storm任务提交及源码分析

· Storm数据发送流程分析

· Storm通信机制分析

· Storm消息容错机制及源码分析

· Storm多stream项目分析

· 编写自己的流式任务执行框架

2、Storm上下游及架构集成

· 消息队列是什么

· Kakfa核心组件

· Kafka集群部署实战及常用命令

· Kafka配置文件梳理

· Kakfa JavaApi学习

· Kafka文件存储机制分析

· Redis基础及单机环境部署

· Redis数据结构及典型案例

· Flume快速入门

· Flume+Kafka+Storm+Redis整合

四、内存计算体系Spark

1、scala编程

· scala编程介绍

· scala相关软件安装

· scala基础语法

· scala方法和函数

· scala函数式编程特点

· scala数组和集合

· scala编程练习(单机版WordCount)

· scala面向对象

· scala模式匹配

· actor编程介绍

· option和偏函数

· 实战:actor的并发WordCount

· 柯里化

· 隐式转换

2、AKKA与RPC

· Akka并发编程框架

· 实战:RPC编程实战

3、Spark快速入门

· spark介绍

· spark环境搭建

· RDD简介

· RDD的转换和动作

· 实战:RDD综合练习

· RDD高级算子

· 自定义Partitioner

· 实战:网站访问次数

· 广播变量

· 实战:根据IP计算归属地

· 自定义排序

· 利用JDBC RDD实现数据导入导出

· WorldCount执行流程详解

4、RDD详解

· RDD依赖关系

· RDD缓存机制

· RDD的Checkpoint检查点机制

· Spark任务执行过程分析

· RDD的Stage划分

5、Spark-Sql应用

· Spark-SQL

· Spark结合Hive

· DataFrame

· 实战:Spark-SQL和DataFrame案例

6、SparkStreaming应用实战

· Spark-Streaming简介

· Spark-Streaming编程

· 实战:StageFulWordCount

· Flume结合Spark Streaming

· Kafka结合Spark Streaming

· 窗口函数

· ELK技术栈介绍

· ElasticSearch安装和使用

· Storm架构分析

· Storm编程模型、Tuple源码、并发度分析

· Storm WordCount案例及常用Api分析

7、Spark核心源码解析

· Spark源码编译

· Spark远程debug

· Spark任务提交行流程源码分析

· Spark通信流程源码分析

· SparkContext创建过程源码分析

· DriverActor和ClientActor通信过程源码分析

· Worker启动Executor过程源码分析

· Executor向DriverActor注册过程源码分析

· Executor向Driver注册过程源码分析

· DAGScheduler和TaskScheduler源码分析

· Shuffle过程源码分析

· Task执行过程源码分析

五、机器学习算法

1、python及numpy库

· 机器学习简介

· 机器学习与python

· python语言–快速入门

· python语言–数据类型详解

· python语言–流程控制语句

· python语言–函数使用

· python语言–模块和包

· phthon语言–面向对象

· python机器学习算法库–numpy

· 机器学习必备数学知识–概率论

2、常用算法实现

· knn分类算法–算法原理

· knn分类算法–代码实现

· knn分类算法–手写字识别案例

· lineage回归分类算法–算法原理

· lineage回归分类算法–算法实现及demo

· 朴素贝叶斯分类算法–算法原理

· 朴素贝叶斯分类算法–算法实现

· 朴素贝叶斯分类算法–垃圾邮件识别应用案例

· kmeans聚类算法–算法原理

· kmeans聚类算法–算法实现

· kmeans聚类算法–地理位置聚类应用

· 决策树分类算法–算法原理

· 决策树分类算法–算法实现

以上大数据学习线路图仅供大家参考

 

在这里还是要推荐下我自己建的大数据学习交流群:199427210,群里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据软件开发相关的),包括我自己整理的一份2018最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴加入。

 

展开阅读全文

没有更多推荐了,返回首页