(前言)我的大数据学习之旅

这是对大数据相关内容做的总结,也是初学者想了解大数据所要学习的相关知识。在此我将自己本科阶段学习的内容做一个相关的学习介绍,用序号的方式进行记录我的学习历程。

一、大数据运维之Linux基础

打好Linux基础,以便更好地学习Hadoop,hbase,NoSQL,Spark,Storm,docker,openstack等。因为企业中的项目基本上都是使用Linux环境下搭建或部署的。

1)Linux系统概述2)系统安装及相关配置 3)Linux网络基础 4)OpenSSH实现网络安全连接 5)vi文本编辑器

6)用户和用户组管理7)磁盘管理 8)Linux文件和目录管理 9)Linux终端常用命令 10)linux系统监测与维护

二、大数据开发核心技术 - Hadoop 2.x从入门到精通

大数据的基石:其一,分布式文件系统HDFS用于存储海量数据,无论是Hive、HBase或者Spark数据存储在其上面;其二是分布式资源管理框架YARN,是Hadoop 云操作系统(也称数据系统),管理集群资源和分布式数据处理框架MapReduce、Spark应用的资源调度与监控;分布式并行计算框架MapReduce目前是海量数据并行处理的一个最常用的框架。Hadoop 2.x的编译、环境搭建、HDFS Shell使用,YARN 集群资源管理与任务监控,MapReduce编程,分布式集群的部署管理(包括高可用性HA)必须要掌握的。

1、初识Hadoop 2.x

  • 1)大数据应用发展、前景
  • 2)Hadoop 2.x概述及生态系统
  • 3)Hadoop 2.x环境搭建与测试

2、深入Hadoop 2.x

  • 1)HDFS文件系统的架构、功能、设计
  • 2)HDFS Java API使用
  • 3)YARN 架构、集群管理、应用监控
  • 4)MapReduce编程模型、Shuffle过程、编程调优

3、高级Hadoop 2.x

  • 1)分布式部署Hadoop 2.x
  • 2)分布式协作服务框架Zookeeper
  • 3)HDFS HA架构、配置、测试
  • 4)HDFS 2.x中高级特性
  • 5)YARN HA架构、配置
  • 6)Hadoop 主要发行版本(CDH、HDP、Apache)

三、大数据开发核心技术 - 大数据仓库Hive

hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

一、Hive 初识入门

1)Hive功能、体系结构、使用场景2)Hive环境搭建、初级使用 3)Hive原数据配置、常见交互方式

二、Hive深入使用

1)Hive中的内部表、外部表、分区表2)Hive 数据迁移3)Hive常见查询(select、where、distinct、join、group by)4)Hive 内置函数和UDF编程

三、Hive高级进阶

1)Hive数据的存储和压缩2)Hive常见优化(数据倾斜、压缩等)

四、结合实际案例分析

1)依据业务设计表2)数据清洗、导入(ETL) 3)使用HiveQL,统计常见的网站指标

四、大数据协作框架 - Sqoop/Flume/Oozie

Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到关系型数据库中。Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。

一、数据转换工具Sqoop

1)Sqoop功能、使用原则2)将RDBMS数据导入Hive表中(全量、增量) 3)将HDFS上文件导出到RDBMS表中

二、文件收集框架Flume

1)Flume 设计架构、原理(三大组件)2)Flume初步使用,实时采集数据 3)如何使用Flume监控文件夹数据,实时采集录入HDFS中 4)任务调度框架Oozie

三、Oozie功能、安装部署

1)使用Oozie调度MapReduce Job和HiveQL2)定时调度任务使用

五、大数据Web开发框架 - 大数据WEB 工具Hue

Hue是一个开源的Apache Hadoop UI系统,最早是由Cloudera Desktop演化而来,由Cloudera贡献给开源社区,它是基于Python Web框架Django实现的。通过使用Hue我们可以在浏览器端的Web控制台上与Hadoop集群进行交互来分析处理数据,例如操作HDFS上的数据,运行MapReduce Job等等。

1)Hue架构、功能、编译2)Hue集成HDFS 3)Hue集成MapReduce

4)Hue集成Hive、DataBase5)Hue集成Oozie

六、大数据核心开发技术 - 分布式数据库HBase从入门到精通

HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。HBase在Hadoop之上提供了类似于Bigtable的能力,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群

一、HBase初窥使用

1)HBase是什么、发展、与RDBMS相比优势、企业使用2)HBase Schema、表的设计3)HBase 环境搭建、shell初步使用(CRUD等)

二、HBase 深入使用

1)HBase 数据存储模型2)HBase Java API使用(CRUD、SCAN等)3)HBase 架构深入剖析4)HBase 与MapReduce集成、数据导入导出

三、HBase 高级使用

1)如何设计表、表的预分区(依据具体业务分析讲解)2)HBase 表的常见属性设置(结合企业实际)3)HBase Admin操作(Java API、常见命令)

四、进行分析

1)依据需求设计表、创建表、预分区2)进行业务查询分析 3)对于密集型读和密集型写进行HBase参数调优

七、大数据核心开发技术 - Storm实时数据处理

Storm是Twitter开源的分布式实时大数据处理框架,被业界称为实时版Hadoop。 随着越来越多的场景对Hadoop的MapReduce高延迟无法容忍,比如网站统计、推荐系统、预警系统、金融系统(高频交易、股票)等等, 大数据实时处理解决方案(流计算)的应用日趋广泛,目前已是分布式技术领域最新爆发点,而Storm更是流计算技术中的佼佼者和主流。 按照storm作者的说法,Storm对于实时计算的意义类似于Hadoop对于批处理的意义。Hadoop提供了map、reduce原语,使我们的批处理程序变得简单和高效。 同样,Storm也为实时计算提供了一些简单高效的原语,而且Storm的Trident是基于Storm原语更高级的抽象框架,类似于基于Hadoop的Pig框架, 让开发更加便利和高效。本课程会深入、全面的讲解Storm,并穿插企业场景实战讲述Storm的运用。 淘宝双11的大屏幕实时监控效果冲击了整个IT界,业界为之惊叹的同时更是引起对该技术的探索。 可以自己开发升级版的“淘宝双11”?

1)Storm简介和课程介绍

2)Storm原理和概念详解

3)Zookeeper集群搭建及基本使用

4)Storm集群搭建及测试

5)API简介和入门案例开发

6)Spout的Tail特性、storm-starter及maven使用、Grouping策略

7)实例讲解Grouping策略及并发

8)并发度详解、案例开发(高并发运用)

9)案例开发——计算网站PV,通过2种方式实现汇总型计算。

10)案例优化引入Zookeeper锁控制线程操作

11)计算网站UV(去重计算模式)

12)【运维】集群统一启动和停止shell脚本开发

13)Storm事务工作原理深入讲解

14)Storm事务API及案例分析

15)Storm事务案例实战之 ITransactionalSpout

16)Storm事务案例升级之按天计算

17)Storm分区事务案例实战

18)Storm不透明分区事务案例实战

19)DRPC精解和案例分析

20)Storm Trident 入门

21)Trident API和概念

22)Storm Trident实战之计算网站PV

23)ITridentSpout、FirstN(取Top N)实现、流合并和Join

24)Storm Trident之函数、流聚合及核心概念State

25)Storm Trident综合实战一(基于HBase的State)

26)Storm Trident综合实战二

27)Storm Trident综合实战三

28)Storm集群和作业监控告警开发

八、Spark技术实战之基础篇 -Scala语言从入门到精通

为什么要学习Scala?源于Spark的流行,Spark是当前最流行的开源大数据内存计算框架,采用Scala语言实现,各大公司都在使用Spark:IBM宣布承诺大力推进Apache Spark项目,并称该项目为:在以数据为主导的,未来十年最为重要的新的开源项目。这一承诺的核心是将Spark嵌入IBM业内领先的分析和商务平台,Scala具有数据处理的天然优势,Scala是未来大数据处理的主流语言

1)-Spark的前世今生

2)-课程介绍、特色与价值

3)-Scala编程详解:基础语法

4)-Scala编程详解:条件控制与循环

5)-Scala编程详解:函数入门

6)-Scala编程详解:函数入门之默认参数和带名参数

7)-Scala编程详解:函数入门之变长参数

8)-Scala编程详解:函数入门之过程、lazy值和异常

9)-Scala编程详解:数组操作之Array、ArrayBuffer以及遍历数组

10)-Scala编程详解:数组操作之数组转换

11)-Scala编程详解:Map与Tuple

12)-Scala编程详解:面向对象编程之类

13)-Scala编程详解:面向对象编程之对象

14)-Scala编程详解:面向对象编程之继承

15)-Scala编程详解:面向对象编程之Trait

16)-Scala编程详解:函数式编程

17)-Scala编程详解:函数式编程之集合操作

18)-Scala编程详解:模式匹配

19)-Scala编程详解:类型参数

20)-Scala编程详解:隐式转换与隐式参数

21)-Scala编程详解:Actor入门

九、大数据核心开发技术 - 内存计算框架Spark

Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用并行框架,Spark,拥有Hadoop MapReduce所具有的优点。启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。Spark Streaming: 构建在Spark上处理Stream数据的框架,基本的原理是将Stream数据分成小的时间片断(几秒),以类似batch批量处理的方式来处理这小部分数据

1)Spark 初识入门

2)Spark 概述、生态系统、与MapReduce比较

3)Spark 编译、安装部署(Standalone Mode)及测试

4)Spark应用提交工具(spark-submit,spark-shell)

5)Scala基本知识讲解(变量,类,高阶函数)

6)Spark 核心RDD

7)RDD特性、常见操作、缓存策略

8)RDD Dependency、Stage常、源码分析

9)Spark 核心组件概述

10)案例分析

11)Spark 高阶应用

12)Spark on YARN运行原理、运行模式及测试

13)Spark HistoryServer历史应用监控

14)Spark Streaming流式计算

15)Spark Streaming 原理、DStream设计

16)Spark Streaming 常见input、out

17)Spark Streaming 与Kafka集成

18)使用Spark进行分析

十、大数据核心开发技术 - Spark深入剖析

1)Scala编程、Hadoop与Spark集群搭建、Spark核心编程、Spark内核源码深度剖析、Spark性能调优

2)Spark源码剖析

十一、企业大数据平台高级应用

完成大数据相关企业场景与解决方案的剖析应用及结合一个电子商务平台进行实战分析,主要包括有: 企业大数据平台概述、搭建企业大数据平台、真实服务器手把手环境部署、使用CM 5.3.x管理CDH 5.3.x集群

1)企业大数据平台概述

2)大数据平台基本组件

3)Hadoop 发行版本、比较、选择

4)集群环境的准备(系统、基本配置、规划等)

5)搭建企业大数据平台

6)以实际企业项目需求为依据,搭建平台

7)需求分析(主要业务)

8)框架选择(Hive\HBase\Spark等)

9)真实服务器手把手环境部署

10)安装Cloudera Manager 5.3.x

11)使用CM 5.3.x安装CDH 5.3.x

12)如何使用CM 5.3.x管理CDH 5.3.x集群

13)基本配置,优化

14)基本性能测试

15)各个组件如何使用

十二、项目实战:驴妈妈旅游网大型离线数据电商分析平台

离线数据分析平台是一种利用hadoop集群开发工具的一种方式,主要作用是帮助公司对网站的应用有一个比较好的了解。尤其是在电商、旅游、银行、证券、游戏等领域有非常广泛,因为这些领域对数据和用户的特性把握要求比较高,所以对于离线数据的分析就有比较高的要求了。 本课程讲师本人之前在游戏、旅游等公司专门从事离线数据分析平台的搭建和开发等,通过此项目将所有大数据内容贯穿,并前后展示!

1)Flume、Hadoop、Hbase、Hive、Oozie、Sqoop、离线数据分析,SpringMVC,Highchat

2)Flume+Hadoop+Hbase+SpringMVC+MyBatis+MySQL+Highcharts实现的电商离线数据分析

3)日志收集系统、日志分析、数据展示设计

十三、项目实战:基于1号店的电商实时数据分析系统

1)全面掌握Storm完整项目开发思路和架构设计

2)掌握Storm Trident项目开发模式

3)掌握Kafka运维和API开发、与Storm接口开发

4)掌握HighCharts各类图表开发和实时无刷新加载数据

5)熟练搭建CDH5生态环境完整平台

6)灵活运用HBase作为外部存储

7)可以做到以一己之力完成从后台开发(Storm、Kafka、Hbase开发) 到前台HighCharts图表开发、Jquery运用等,所有工作一个人搞定! 可以一个人搞定淘宝双11大屏幕项目!

十四、项目实战:基于美团网的大型离线电商数据分析平台

本项目使用了Spark技术生态栈中最常用的三个技术框架,Spark Core、Spark SQL和Spark Streaming,进行离线计算和实时计算业务模块的开发。实现了包括用户访问session分析、页面单跳转化率统计、热门商品离线统计、 广告点击流量实时统计4个业务模块。过合理的将实际业务模块进行技术整合与改造,该项目完全涵盖了Spark Core、Spark SQL和Spark Streaming这三个技术框架中几乎所有的功能点、知识点以及性能优化点。 仅一个项目,即可全面掌握Spark技术在实际项目中如何实现各种类型的业务需求!在项目中,重点讲解了实际企业项目中积累下来的宝贵的性能调优 、troubleshooting以及数据倾斜解决方案等知识和技术

1)真实还原完整的企业级大数据项目开发流程:项目中采用完全还原企业大数据项目开发场景的方式来讲解,每一个业务模块的讲解都包括了数据分析、需求分析、方案设计、数据库设计、编码实现、功能测试、性能调优、troubleshooting与解决数据倾斜(后期运维)等环节,真实还原企业级大数据项目开发场景。让学员掌握真实大数据项目的开发流程和经验!

2)现场Excel手工画图与写笔记:所有复杂业务流程、架构原理、Spark技术原理、业务需求分析、技术实现方案等知识的讲解,采用Excel画图或者写详细比较的方式进行讲解与分析,细致入微、形象地透彻剖析理论知识,帮助学员更好的理解、记忆与复习巩固。

十五、机器学习及实践

基于PyMC语言以及一系列常用的Python数据分析框架,如NumPy、SciPy和Matplotlib,通过概率编程的方式,讲解了贝叶斯推断的原理和实现方法。该方法常常可以在避免引入大量数学分析的前提下,有效地解决问题。课程中使用的案例往往是工作中遇到的实际问题,有趣并且实用。回归等算法有较为深入的了解,以Python编程语言为基础,在不涉及大量数学模型与复杂编程知识的前提下,熟悉并且掌握当下最流行的机器学习算法,如回归、决策树、SVM等,并通过代码实例来 展示所讨论的算法的实际应用。

1)Mahout、Spark MLlib概述

2)机器学习概述

3)线性回归及Mahout、SparkMLlib案例

4)Logistic回归、softmax分类及Mahout、SparkMLlib案例

5)KNN及Mahout、SparkMllib案例

6)SVM及Mahout、SparkMllib案例

7)决策树及Mahout、SparkMllib案例

8)随机森林及Mahout、SparkMllib案例

9)GBDT及Mahout、SparkMllib案例

10)KMeans及Mahout、SparkMllib案例

11)贝叶斯及Mahout、SparkMllib案例

12)集成学习

13)特征处理及模型优化

十六、推荐系统

开发推荐系统的方法,尤其是许多经典算法,重点探讨如何衡量推荐系统的有效性。课程内容分为基本概念和进展两部分:前者涉及协同推荐、基于内容的推荐、基于知识的推荐、混合推荐方法,推荐系统的解释、评估推荐系统和实例分析;后者包括针对推荐系统的攻击、在线消费决策、推荐系统和下一代互联网以及普适环境中的推荐

1)协同过滤推荐

2)基于内容的推荐

3)基于知识的推荐

4)混合推荐方法

5)推荐系统的解释

6)评估推荐系统

7)案例研究

十七、分布式搜索引擎Elasticsearch开发

联网+、大数据、网络爬虫、搜索引擎等等这些概念,如今可谓炙手可热

1)Elasticsearch概念

2)Elasticsearch安装和插件介绍

3)Elasticsearch基本使用和简单查询

4)Elasticsearch的Java客户端使用

5)Elasticsearch索引和Mapping

6)Elasticsearch搜索深入

7)Elasticsearch与Spring集成

8)Elasticsearch实战

十八、大数据高并发系统架构实战方案(LVS负载均衡、Nginx、共享存储、海量数据、队列缓存 )

随着互联网的发展,高并发、大数据量的网站要求越来越高。而这些高要求都是基础的技术和细节组合而成的。

十九、大数据高并发服务器实战

随着Web技术的普及,Internet上的各类网站第天都在雪崩式增长。但这些网站大多在性能上没做过多考虑。当然,它们情况不同。有的是Web技术本身的原因(主要是程序代码问题),还有就是由于Web服务器未进行优化。不管是哪种情况,一但用户量在短时间内激增,网站就会明显变慢,甚至拒绝放访问。要想有效地解决这些问题,就只有依靠不同的优化技术。本课程就是主要用于来解决大型网站性能问题,能够承受大数据、高并发。主要涉及 技术有:nginx、tomcat、memcached、redis缓存、负载均衡等高级开发技术

 

你可能感兴趣的:(云计算与大数据,hadoop,spark,flink,kafka)