背景:
阅读IT学生网新闻

大数据应用开发工程师专业课程详解

[日期:03-08] 来源:IT学生网  作者:QQ251048012 计算机培训学校

大数据应用开发工程师专业的核心课程是Hadoop框架的学习,那么这个框架就类似于Java应用开发的SSH/SSM框架,都是Apache基金会或者其他Java开源社区团体的能人牛人开发的贡献给大家使用的一种开源Java框架。我一直在向学生说Java语言是王道就是这个道理,Java的核心代码是开源的,是经过全球能人牛人共同学习共同研发共同检验的,所以说Java是最经得住检验的语言,而且任何人都可以学习Java核心技术并且使用核心技术开发出像android一样的系统和Hadoop一样的框架。如果把编程的世界比作一棵树,那么Java是根,SSH和Hadoop这样的框架都是它开得枝散得叶。

 

由于大数据应用开发工程师是目前IT培训界最热门的专业,大数据技术人才是引领智能革命的弄潮儿,是智能时代最直接的受益者,这么重要的专业我一定要给大家讲解的详细透彻,以Hadoop生态圈为主,介绍目前大数据应用级开发工程师在工作当中所用到的全部技术,建议大家在学习大数据应用开发工程师专业之前,要有一定的Java基本语法和框架的学习经验。

 

开源的Hadoop大数据开发平台

hadoop是一个能够对大量数据进行分布式处理的软件框架,hadoop以一种可靠、高效、可伸缩的方式进行数据处理,用户之所以可以轻松的在hadoop上开发和运行处理海量数据的应用数据,是因为hadoop具有高可靠性、高扩展性、高效性、高容错性等优点。

 

hadoop大数据生态系统

 

Hadoop三大核心模块

 

分布式文件系统-HDFS 

提起hadoop文件系统,首先想到的是HDFS(Hadoop Distributed File System),HDFS是hadoop主要的文件系统,是Hadoop存储数据的平台,建立在网络上的分布式存储系统。hadoop还集成了其他文件系统,hadoop的文件系统是一个抽象的概念,HDFS只是其中的一种实现。

 

分布式计算框架-MapReduce 

MapReduce是一种编程模型,是Hadoop处理数据的平台。用于大规模数据集(大于1TB)的并行运算。概念"Map(映射)"和"Reduce(归约)",和它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性。它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上。

 

分布式开源数据库-Hbase

HBase – Hadoop Database,HBase是一个分布式的、面向列的开源数据库。适合于非结构化数据存储,保留数据多个时间段版本。Hbase极大的方便扩展了Hadoop对于数据的处理和应用。

 

大数据开发平台模块生态圈

 

 

Hive 

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

 

学习Hive时,对于Hive QL中的DDL和DML就是必须要掌握的基础;表的定义、数据导出以及常用的查询语句的掌握是完成大数据统计分析的基础。学会针对Hive进行编程:使用Java API开操作Hive、开发Hive UDF函数。掌握好Hive部分高级的特性能大大提升Hive的执行效率在优化过程中可以很好的借助于执行计划来进行分析学习Hive时需要注意Hive性能优化是在生产中的最重要的环节,如何解决数据倾斜是关键; 梳理清楚Hive元数据各个表之间的关联关系也能提升对Hive的把握能力。 

 

Pig

MapReduce之上高级过程编程脚本语言,用于查询大型半结构化数据集。

 

Zookeeper协调Hadoop生态圈各个模块共同工作

从英文含义上来看Hadoop是小象,Hive是蜜蜂,pig是猪,Zookeeper是动物管理员。那么很显然Zookeeper的作用是分布式应用程序协调服务,为各个模块提供一致性服务的。

 

数据导入导出框架Sqoop 

Sqoop是一款开源的工具,英文含义是象夫,就是喂养大象的人,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

学习目标:

1.了解Sqoop是什么、能做什么及架构 ;

2.能够进行Sqoop环境部署 ;

3.掌握Sqoop在生产中的使用 ;

4.能够使用Sqoop进行ETL操作 。

 

Oozie

Oozie的英文含义是驯象人,非常形象,Oozie的作用是协调Hadoop各个模块数据处理任务,给它们安排一个工作计划。

 

Ambari

Ambari的英文含义可以理解为篱笆,这个模块开发者的意思是把Hadoop生态圈或者形象的叫做动物园围起来,负责各个模块部署安装,版本配合、升级。


大数据图形展示框架HUE 

HUE是Cloudrea公司开源的,与Hadoop生态系统紧密结合的一个Web UI应用程序,可以通过Hue来查看、管理HDFS上面的文件,通过Hue从界面编写Hive的SQL语句对Hive进行查询,并使用图表直观的展示查询结果,可以与Oozie集成,用户创建和监控工作流程。

学习目标:

1.了解HUE是什么、能做什么及架构 ;

2.能够进行HUE环境部署 ;

3.掌握HUE在生产中的使用 。

 

 

Spark 

Spark是目前最流行的大数据处理框架,以简单、易用、性能卓越著称。丰富的程序接口和库文件也使得Spark成为业内数据快速处理和分布式机器学习的必备工具。

学习目标:

1.了解Spark的组件和应用场景 ;

2.能够部署Spark Standalone模式 ;

3.能够使用Spark进行交互式开发 ;

4.能够发布独立应用程序并使用spark-submit 提交 。

5.掌握Pair RDD的操作 ;

6.掌握Pair RDD如何与一般RDD结合 ;

7.掌握RDD的输出操作 ;

8.了解RDD的持久化、累加器和广播变量 。

9.掌握DataFrame的操作 ;

10.掌握不同数据源的加载方法 ;

11.了解UDF的定义方法 。

12.掌握Spark图形化工具的查看 。

13.了解Spark Streaming的特点 ;

14.掌握流式处理的基本操作 ;

15.理解状态操作和窗口操作的概念 。

16.能够根据生产环境特点,组织基于spark sql 的周期任务完成基本日志系统的构建。

17.掌握不同需求下Spark组件的选择 ;

18.掌握Spark参数调优 ;

19.掌握各组件之间的调用及thrift接口的使用 。

20.了解Spark作为机器学习工具的优势 ;

21.了解机器学习算法的分类 ;

22.通过K-means算法进行玩家付费行为聚类 。

 

*扩展技能:

python开发基础数据分析与数据挖掘 

学习数据挖掘工具Sklearn熟悉数据挖掘朴素贝叶斯算法和数据挖掘SVM分类算法并且最终使用Sklearn实现贝叶斯以及SVM算法 。

Storm大数据分布式实时计算 

Storm是分布式数据处理的框架,Storm可以方便地在一个计算机集群中编写与扩展复杂的实时计算,Storm用于实时处理,就好比 Hadoop 用于批处理。如果说MapReduce降低了并行批处理复杂性,Storm降低了进行实时处理的复杂性

Scala编程开发  

Scala是一种函数式面向对象语言类似于RUBYGROOVY语言,无缝结合了许多前所未有的特性形成一门多范式语言其中高层并发模型适用于大数据开发。而同时又运行于JAVA虚拟机之上。

IT学生网内容分类