在IT技术领域,大数据是热点,大数据技术也是热点,以Hadoop为例,作为主流的第一代大数据技术框架,是大数据培训学习当中的重难点。学习大数据必学Hadoop,而Hadoop当中的编程主要在MapReduce这一块。今天的IT大数据培训班课程分享,我们来讲讲MapReduce编程入门。
MapReduce是Hadoop的核心框架之一,主要负责分布式并行计算。MapReduce 既是计算框架,也是编程模型,主要基于Java语言来编程。
MapReduce运行过程,通常涉及到input、split、map、shuffle、reduce、output几个阶段,其中shuffle过程包括sort、copy、combine操作,reduce之前有时涉及二次排序。
MapReduce编程,主要有三种方式:
1、hadoop streaming执行mapreduce
2、hive执行mapreduce
3、java MR编程
第一种方式:Hadoop streaming执行mr
优点:
可以用大多数语言开发;
代码量少,开发速度快;
方便本地调试。
不足:
只能通过参数控制MR框架,控制性较弱,比如定制partitioner、combiner;
支持的数据类型和数据结构有限,不适合做复杂处理,处理字符型较多;
第二种方式:Hive执行mapreduce
将类SQL转换成mapreduce,定位于数据仓库。
优点:
开发速度快,易调试,易理解;
易于构建数据仓库模型;
内置函数功能齐全,比如rownumber等窗口函数;
可扩展性好,比如自定义存储格式、自定义函数UDF;
多接口,比如JDBC、Thrift、Rest等。
缺点:
不能用于复杂计算,比如涉及时序处理的数据;
可控制性较弱,比如partition、关联等操作。
第三种方式:Java MR编程
用java编写MR在以前和现在都有广泛应用,java面向对象编程,设计模式成熟,通用性好,并且java方面第三方类库非常丰富。
优点:
定制性强,比如定制partitioner、定制combiner等;
数据类型和数据结构丰富,队列、堆栈、自定义类等使用方便;
控制性非常高,包括mr运行过程的一些控制,map端join等;
可以方便使用hadoop组件类库中的类或工具,比如hdfs文件操作类等。
缺点:
相比Hive、Hadoop streaming或pyspark,开发代码量较大、对开发环境要求高且不易调试;
通常每个操作都要写一个mr类;
不如spark执行效率高。
关于IT大数据培训班,MapReduce编程入门,以上就是今天的内容分享了。在大数据当中,Hadoop MapReduce还是占据着重要的地位,学习Hadoop MapReduce,一定要打牢基础才行。成都加米谷大数据,专业
大数据培训机构,Hadoop大数据开发班,本月正在招生中,课程大纲及试听课程可联系客服获取!