大数据入门学习必备指南

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

01.大数据工程师

02.数据分析师

03.大数据科学家

04.其他(数据挖掘本质算是机器学习,不过和数据相关,也可以理解为大数据的一个方向吧)

一、大数据工程师的技能要求

二、大数据学习路径

三、学习资源推荐(书籍、博客、网站)

一、大数据工程师的技能要求

推荐一个大数据学习群 142973723每天晚上20:10都有一节【免费的】大数据直播课程,专注大数据分析方法,大数据编程,大数据仓库,大数据案例,人工智能,数据挖掘都是纯干货分享,

总结如下:

必须技能10条:

01.Java高级编程(虚拟机、并发)

02.Linux 基本操作

03.Hadoop(此处指HDFS+MapReduce+Yarn )

04.HBase(JavaAPI操作+Phoenix )

05.Hive

06.Kafka

07.Storm

08.Scala

09.Python

10.Spark (Core+sparksql+Spark streaming )

进阶技能6条:

11.机器学习算法以及mahout库加MLlib

12.R语言

13.Lambda 架构

14.Kappa架构

15.Kylin

16.Aluxio

二、学习路径

第一阶段:

01.Linux学习

02.Java 高级学习(《深入理解Java虚拟机》、《Java高并发实战》)

第二阶段:

03.Hadoop

04.HBase

05.Hive

06.Scala

07.Spark

08.Python

第三阶段:

对应技能需求,到网上多搜集一些资料就ok了,

我把最重要的事情(要学什么告诉你了),

剩下的就是你去搜集对应的资料学习就ok了

当然如果你觉得自己看书效率太慢,你可以网上搜集一些课程,跟着课程走也OK 。这个完全根据自己情况决定,如果看书效率不高就上网课,相反的话就自己看书。

07.至于书籍当当、京东一搜会有很多,其实内容都差不多 那么如何从零开始规划大数据学习之路! 大数据的领域非常广泛,往往使想要开始学习大数据及相关技术的人望而生畏。大数据技术的种类众多,这同样使得初学者难以选择从何处下手。本文将为你开始学习大数据的征程以及在大数据产业领域找到工作指明道路,提供帮助。

如何开始学习大数据?

人们想开始学习大数据的时候,最常问我的问题是,“我应该学Hadoop(hadoop是一款开源软件,主要用于分布式存储和计算,他由HDFS和MapReduce计算框架组成的,他们分别是Google的GFS和MapReduce的开源实现。由于hadoop的易用性和可扩展性,因此成为最近流行的海量数据处理框架。), 分布式计算,Kafka(Kafka是由LinkedIn开发的一个分布式基于发布/订阅的消息系统),NoSQL(泛指非关系型的数据库)还是Spark(Spark 是一种与 Hadoop 相似的开源集群计算环境,但是两者之间还存在一些不同之处)?”

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

与大数据相关的工作?

(1)大数据系统研发工程师:负责大数据系统研发工作,包括大规模非结构化数据业务模型构建、大数据存储、数据库架构设计以及数据库详细设计、优化数据库构架、解决数据库中心建设设计问题。他们还负责集群的日常运作、系统的监测和配置、Hadoop与其他系统的集成。

(2)大数据应用开发工程师:负责搭建大数据应用平台、开发分析应用程序。他们熟悉工具或算法、编程、包装、优化或者部署不同的MapReduce事务。他们以大数据技术为核心,研发各种基于大数据技术的应用程序及行业解决方案。

(3)大数据分析师:运用算法来解决分析问题,并且从事数据挖掘工作。他们最大的本事就是能够让数据道出真相;此外,他们还拥有某个领域的专长,帮助开发数据产品,推动数据解决方案的不断更新。

(4)数据可视化工程师:具备良好的沟通能力与团队精神,责任心强,拥有优秀的解决问题的能力。他们负责在收集到的高质量数据中,利用图形化的工具及手段的应用,一目了然地揭示数据中的复杂信息,帮助企业更好的进行大数据应用开发,发现大数据背后的巨大财富。

你适合大数据什么方向呢?

现在我们已经了解了行业中可供选择的职业种类,让我们想办法来确定哪个领域适合你。这样,我们才能确定你在这个行业中的位置。通常来说,基于你的教育背景和行业经验可以进行分类。

例1:“我是一名计算机科学毕业生,不过没有坚实的数学技巧。”

你对计算机科学或者数学有兴趣,但是之前没有相关经验,你将被定义为一个新人。

例2:“我是一个计算机科学毕业生,目前正从事数据库开发工作。”

你的兴趣在计算机科学方向,你适合计算机工程师(数据相关工程)的角色。

大数据学习之路

核心是,大部分大数据技术都是用Java或Scala编写的。但是别担心,如果你不想用这些语言编写代码,那么你可以选择Python或者R,因为大部分的大数据技术现在都支持Python和R。

因此,你可以从上述任何一种语言开始。 我建议选择Python或Java。

接下来,你需要熟悉云端工作。 这是因为如果你没有在云端处理大数据,没有人会认真对待。 请尝试在AWS,softlayer或任何其他云端供应商上练习小型数据集。 他们大多数都有一个免费的层次,让学生练习。如果你想的话,你可以暂时跳过此步骤,但请务必在进行任何面试之前在云端工作。

接下来,你需要了解一个分布式文件系统。最流行的分布式文件系统就是Hadoop分布式文件系统。在这个阶段你还可以学习一些你发现与你所在领域相关的NoSQL数据库。

那么我们一起来看看大数据经典学习路线(及供参考)

1.Linux基础和分布式集群技术

学完此阶段可掌握的核心能力:

熟练使用Linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构;

学完此阶段可解决的现实问题:

搭建负载均衡、高可靠的服务器集群,可以增大网站的并发访问量,保证服务不间断地对外服务;

学完此阶段可拥有的市场价值:

具备初级程序员必要具备的Linux服务器运维能力。

1.内容介绍:

在大数据领域,使用最多的操作系统就是Linux系列,并且几乎都是分布式集群。该课程为大数据的基础课程,主要介绍Linux操作系统、Linux常用命令、Linux常用软件安装、Linux网络、防火墙、Shell编程等。

2.案例:搭建互联网高并发、高可靠的服务架构。

2.离线计算系统课程阶段

1. 离线计算系统课程阶段

HADOOP核心技术框架

学完此阶段可掌握的核心能力:

1、通过对大数据技术产生的背景和行业应用案例了解hadoop的作用;2、掌握hadoop底层分布式文件系统HDFS的原理、操作和应用开发;3、掌握MAPREDUCE分布式运算系统的工作原理和分布式分析应用开发;大数据学习交流群: 80512加7855 4、掌握HIVE数据仓库工具的工作原理及应用开发。

学完此阶段可解决的现实问题:

1、熟练搭建海量数据离线计算平台;2、根据具体业务场景设计、实现海量数据存储方案;3、根据具体数据分析需求实现基于mapreduce的分布式运算程序;

学完此阶段可拥有的市场价值:

具备企业数据部初级应用开发人员的能力

1.1 HADOOP快速入门

1.1.1 hadoop知识背景

什么是hadoop、hadoop产生背景、hadoop在大数据云计算中的位置和关系、国内hadoop的就业情况分析及课程大纲介绍

国内外hadoop应用案例介绍

分布式系统概述、hadoop生态圈及各组成部分的简介

1.1.2 HIVE快速入门

hive基本介绍、hive的使用、数据仓库基本知识

1.1.3 数据分析流程案例

web点击流日志数据挖掘的需求分析、数据来源、处理流程、数据分析结果导出、数据展现

1.1.4 hadoop数据分析系统集群搭建

集群简介、服务器介绍、网络环境设置、服务器系统环境设置、JDK环境安装、hadoop集群安装部署、集群启动、集群状态测试

HIVE的配置安装、HIVE启动、HIVE使用测试

1.2 HDFS详解

1.2.1 HDFS的概念和特性

什么是分布式文件系统、HDFS的设计目标、HDFS与其他分布式存储系统的优劣势比较、HDFS的适用场景

1.2.2 HDFS的shell操作

HDFS命令行客户端启动、HDFS命令行客户端的基本操作、命令行客户端支持的常用命令、常用参数介绍

1.2.3 HDFS的工作机制

HDFS系统的模块架构、HDFS写数据流程、HDFS读数据流程

NAMENODE工作机制、元数据存储机制、元数据手动查看、元数据checkpoint机制、NAMENODE故障恢复、DATANODE工作机制、DATANODE动态增减、全局数据负载均衡

1.2.4 HDFS的java应用开发

搭建开发环境、获取api中的客户端对象、HDFS的java客户端所具备的常用功能、HDFS客户端对文件的常用操作实现、利用HDFS的JAVA客户端开发数据采集和存储系统

1.3 MAPREDUCE详解

1.3.1 MAPREDUCE快速上手

为什么需要MAPREDUCE、MAPREDUCE程序运行演示、MAPREDUCE编程示例及编程规范、MAPREDUCE程序运行模式、MAPREDUCE程序调试debug的几种方式

1.3.2 MAPREDUCE程序的运行机制

MAPREDUCE程序运行流程解析、MAPTASK并发数的决定机制、MAPREDUCE中的combiner组件应用、MAPREDUCE中的序列化框架及应用、MAPREDUCE中的排序、MAPREDUCE中的自定义分区实现、MAPREDUCE的shuffle机制、MAPREDUCE利用数据压缩进行优化、MAPREDUCE程序与YARN之间的关系、MAPREDUCE参数优化

通过以上各组件的详解,深刻理解MAPREDUCE的核心运行机制,从而具备灵活应对各种复杂应用场景的能力

MAPREDUCE实战编程案例:通过一个实战案例来熟悉复杂MAPREDUCE程序的开发。该程序是从nginx服务器产生的访问服务器中计算出每个访客的访问次数及每次访问的时长。原始数据样例如下:

通过一系列的MAPREDUCE程序——清洗、过滤、访问次数及时间分析,最终计算出需求所要的结果,用于支撑页面展现:

1.4 HIVE增强

1.4.1 HIVE基本概念

HIVE应用场景、HIVE内部架构、HIVE与hadoop的关系、HIVE与传统数据库对比、HIVE的数据存储机制、HIVE的运算执行机制

1.4.2 HIVE基本操作

HIVE中的DDL操作、HIVE中的DML操作、在HIVE中如何实现高效的JOIN查询、HIVE的内置函数应用、HIVE shell的高级使用方式、HIVE常用参数配置、HIVE自定义函数和TRANSFORM的使用技巧、HIVE UDF开发实例

1.4.3 HIVE高级应用

HIVE执行过程分析及优化策略、HIVE在实战中的最佳实践案例、HIVE优化分类详解、HIVE实战案例--数据ETL、HIVE实战案例--用户访问时长统计

HIVE实战案例--级联求和报表实例:

离线数据挖掘系统

学完此阶段可掌握的核心能力:

1、通过对数据仓库知识的加强初步掌握数据仓库的核心概念和设计流程;2、通过对HADOOP生态圈关键辅助工具的学习掌握hadoop分析系统的整合能力;3、通过电商系统点击流日志数据挖掘系统实战项目,掌握hadoop离线数据挖掘系统从数据采集、入库、分析及报表展现的整套流程

学完此阶段可解决的现实问题:

1、可根据企业具体场景设计海量数据分析系统的通用架构2、根据具体场景的特点有针对性地调整数据分析各环节的技术选型;3、根据具体需求搭建起整套离线数据分析系统;4、简单数据仓库模型的设计和架构5、各环节具体功能模块的开发实现

学完此阶段可拥有的市场价值:

具备企业数据部中高级应用开发和初级架构师能力

2.1 数据仓库增强

2.1.1 数据仓库及数据模型入门

什么是数据仓库、数据仓库的意义、数据仓库核心概念、数据仓库的体系结构

2.1.2 数据仓库设计

建立数据仓库的步骤、数据的抽取、数据的转换、数据的加载、什么是数据模型、数据模型的常见类型、如何设计数据模型、如何选择数据建模的架构

典型数据模型——星型建模实例

2.1.3 数据仓库建模样例

业务建模、领域建模、逻辑建模、物理建模

web点击流日志分析系统数据仓库设计实战:

通过对数据特点和业务需求的分析,关系梳理,设计出一个主题明确、层次合理的数据模型

2.2 离线辅助系统

2.2.1 数据采集系统

数据采集概念介绍

FLUME日志采集框架介绍、FLUME工作机制、FLUME核心组件、FLUME参数配置说明、FLUME采集nginx日志实战案例

2.2.2 任务调度系统

任务调度系统概念介绍、常用任务调度工具比较、OOZIE介绍、OOZIE核心概念、OOZIE的配置说明、OOIZE实现mapreduce/hive等任务调度实战案例

2.2.3 数据导出

数据导出概念介绍、SQOOP基础知识、SQOOP原理及配置说明、SQOOP数据导入实战、SQOOP数据导出实战、SQOOP批量作业操作

2.3 web点击流日志分析系统实战项目

2.3.1 项目介绍

1. 在PC时代,营销的核心是购买,在移动互联网时代,其核心是如何实现用户个性化互动,对用户传播更为精准化的内容,而实现这一核心的基础就是对数据的管理和分析——数据驱动型商业模型。

2. 各类互联网服务产品(如网站、APP)都可以通过前端技术获取用户的详细行为数据(如访问的页面,点击的区域、登陆的频次、注册行为、购买的行为等),将这些点击流日志数据与后台商业数据综合起来,就可以挖掘对公司运营决策意义非凡的商业价值。

3. 本项目则是一个用大数据技术平台实现的点击流日志分析数据挖掘系统,项目内容涵盖一个典型数据挖掘系统中,包括需求分析、数据采集、数据存储管理、数据清洗、数据仓库设计、ETL、业务模型统计分析、数据可视化的全部流程。

2.3.2 需求分析

什么是点击流日志、点击流日志的商业价值、点击流日志分析需求

业务模型指标体系设计——流量分析、来源分析、受访分析、访客分析、转化率分析

2.3.3 系统设计及开发

1. 系统架构设计

2. 数据采集设计及开发——数据格式、数据内容分析、数据生成规律、采集系统技术选型解析、FLUME采集系统实现

3. 数据存储设计及开发——存储技术选型、存储业务流程解析、存储目录规划及文件命名规则、小文件合并实现

4. 数据统计设计及开发——数据预处理、数据加载、原始数据表的创建、数据入库、数据ETL

5. 报表统计设计——数据模型设计、事实表设计、维度表梳理

6. 业务指标设计及开发——PV统计(时间维度、终端维度、地域维度)、来访次数统计(时间维度、地域维度、终端维度)、独立访客统计(时间维度、终端维度、地域维度)、受访页面统计(时间维度、栏目维度)、页面热点图、转化率分析、来源关键词分析、来源搜索引擎分析、来源广告推广分析

2.3.4 任务调度系统设计实现

任务调度单元实现、各环节任务运行频次及依赖关系梳理、工作流设计及实现、工作流定义配置上传部署、工作流启动即状态监控

2.3.5 数据可视化——结果报表展现

1. hive分析结果使用sqoop导出到msyql数据库

2. 报表展现系统技术选型:

后台使用spingmvc + spring + mybatis

前端页面使用全静态异步刷新技术Jquery + Echarts

3. web展现程序架构搭建,使用maven构建项目工程

4. web展现程序页面设计开发:原型页面设计、js代码开发

5. 最终实现以下数据可视化效果:

(1)流量概况可视化效果:

(2)来源地域分析可视化效果:

(3)来源类型分析可视化效果:

3.Storm实时计算部分阶段

实时课程分为两个部分:流式计算核心技术和流式计算计算案例实战。

1.流式计算核心技术

流式计算核心技术主要分为两个核心技术点:Storm和Kafka,学完此阶段能够掌握Storm开发及底层原理、Kafka的开发及底层原理、Kafka与Storm集成使用。具备开发基于storm实时计算程序的技术能力。

学完此阶段可掌握的核心能力:

(1)、理解实时计算及应用场景

(2)、掌握Storm程序的开发及底层原理、掌握Kafka消息队列的开发及底层原理

(3)、具备Kafka与Storm集成使用的能力

学完此阶段可解决的现实问题:

具备开发基于storm的实时计算程序的能力

学完此阶段可拥有的市场价值:

具备实时计算开发的技术能力

猜你喜欢

转载自blog.csdn.net/qq_43615134/article/details/84434378
今日推荐