1.MapReduce基本知识的总结
MapReduc的相关知识可以简单分为以下几点:
1.1拆解数据(即Map):
将大规模数据分割成小块。
每个小块都有自己的任务。
这些任务是简单的处理,比如筛选、排序或计数。
1.2处理过程:
各个小块同时进行处理,互不干扰。
并行处理使得整体速度更快。
每个小块处理完后生成中间结果。
1.3组合结果(Reduce):
将各个小块的中间结果收集起来。
将这些结果按照某种方式组合起来。
最终得到一个完整的处理结果。
2.MapReduce的操作实践
2.1基于MapReduce的WordCount实践
0.首先,本文默认环境为Linux的Ubuntu操作环境且已经安装、配置好了hadooop、Maven、idea、jdk等前置配置。
1.编写对应代码,复制导入core-site.xml与hdfs-site.xml两文件(在安装的etc/hadoop路径下):
2.pom文件的配置:
如果你的idea,Maven配置是正常的那么在创建项目时构建系统选择Maven后文件夹会自动生成pom文件,但其中配置需要自己调整:
pom代码实现:
(注意,版本号是hadoop对应版本号,我的是2.10.0)
<?xml version="1.0" encoding="UTF-8"?>
<!-- Maven项目描述文件 -->
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<!-- 模型版本 -->
<modelVersion>4.0.0<