概述
Hadoop MapReduce 可以方便的编写运行与数千台计算节点集群的大数据量处理程序。
MapReduce 是以 Key-Value 方式处理数据的,标准流程:
|
|
第一个 MapReduce 程序
第一个 MapReduce 程序是一个简单的单词统计,即 WordCount:
Maven 中添加依赖
|
|
|
|
代码较为简单,只有一个 java 文件,设置了 Map 类与 Reduce 类,并分别设置了他们的输出 Key-Value 的类型。最后设置了任务的输入输出目录。
运行
配置环境变量
|
|
建议将环境变量写入 /etc/profile
编译
|
|
打 jar 包
|
|
准备输入数据
|
|
执行
|
|
查看结果
执行结果被保存在我们指定的输入目录中
|
|
可以看到有 _SUCCESS
与 part-r-00000
两个文件,查看 part-r-00000
的内容
|
|
至此第一个 MapReduce 程序执行完毕
总结
这里使用 Java 编写了第一个 MapReduce 程序。MapReduce 程序也可以使用其他语言进行编写:
- Hadoop streaming 可以使用任何的可执行文件作为 Mapper 和 Reducer,例如 shell,C/C++ 程序,Python程序。
- Hadoop Pipes 使用 SWIG 让 C/C++ 可以编写 MapReduce 程序。