工作环境:Windows10
Hadoop版本:hadoop-2.6.4
开发工具:IDEA
测试代码为Hadoop权威指南书上的代码具体不细说,直接贴代码:
MaxTemperatureMapper.java
public class MaxTemperatureMapper extends Mapper<LongWritable, Text, Text, IntWritable> { private static final int MISSING = 9999; @Override public void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException { String line = value.toString(); String year = line.substring(15, 19); int airTemperature; if (line.charAt(87) == '+') { // parseInt doesn't like leading plus signs airTemperature = Integer.parseInt(line.substring(88, 92)); } else { airTemperature = Integer.parseInt(line.substring(87, 92)); } String quality = line.substring(92, 93); if (airTemperature != MISSING && quality.matches("[01459]")) { context.write(new Text(year), new IntWritable(airTemperature)); } } }
MaxTemperatureReduce.java
public class MaxTemperatureReducer extends Reducer<Text, IntWritable, Text, IntWritable> { @Override public void reduce(Text key, Iterable<IntWritable> values, Context context) throws IOException, InterruptedException { int maxValue = Integer.MIN_VALUE; for (IntWritable value : values) { maxValue = Math.max(maxValue, value.get()); } context.write(key, new IntWritable(maxValue)); } }
MaxTemperature.java
public class MaxTemperature { public static void main(String[] args) throws Exception { if(args.length != 2){ System.err.println("Usage: MaxTemperature <input path> <output path>"); System.exit(-1); } Job job = Job.getInstance(); job.setJarByClass(MaxTemperature.class); FileInputFormat.addInputPath(job, new Path(args[0])); FileOutputFormat.setOutputPath(job, new Path(args[1])); job.setMapperClass(MaxTemperatureMapper.class); job.setReducerClass(MaxTemperatureReducer.class); job.setOutputKeyClass(Text.class); job.setOutputValueClass(IntWritable.class); System.exit(job.waitForCompletion(true) ? 0 : 1); } }
1、下载hadoop-2.6.4到windows环境下
2、配置path
HADOOP_HOME D:\installApp\Apache\apache-hadoop-2.6.4
path 添加上%HADOOP_HOME%\bin
3、hadoop_dll2.6.0下的文件拷贝到hadoop/bin下,详见附件,可能需要重启电脑
4、core-site.xml文件放入你的resources文件夹下面作为资源文件
5、把测试的1901.gz和1902.gz文件放入一个input文件夹中
6、设置好你的args两个参数输入路径input 输出路径output,然后运行就OK啦!
7、可能会遇到报错java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$Windows.access0(Ljava/lang/String;I)Z
下载hadoop源文件,拷贝并修改NativeIO.class
不想下载源码的同学可以下载附件中的该文件
放入特定路径中org.apache.hadoop.io.nativeio 用于覆盖源文件
项目总目录预览
相关推荐
标题 "Hadoop在Windows的依赖资源" 涉及到的是在Windows环境下配置和运行Hadoop时遇到的问题,特别是关于`...记住,Windows上运行Hadoop可能不如在Linux环境下顺畅,但通过不断调试和学习,你可以克服这些挑战。
7. **运行Hadoop应用程序**:在Windows上,开发者可以使用Eclipse或IntelliJ IDEA等集成开发环境,配合插件来编写、调试和运行Hadoop MapReduce程序。 8. **注意事项**:在Windows上运行Hadoop可能会遇到一些问题,...
在Windows环境下,开发和运行Apache Spark程序通常需要与Hadoop生态系统进行交互,因为Spark是构建在Hadoop之上的分布式计算框架。在这个场景中,`hadoop2.7.3-on-windows_X64-master.zip`是一个专门为Windows用户...
在Windows环境下开发和调试Hadoop程序时,由于Windows系统与Hadoop原生环境(主要是Linux)的差异,可能会遇到一些挑战。"winutils.exe"和"hadoop.dll"是解决这些问题的关键工具。 **winutils.exe** 是Hadoop在...
但是,通过一些特殊配置,如使用Cygwin或Windows Subsystem for Linux(WSL)等工具,可以在Windows环境下运行Hadoop。这里我们将探讨如何在Windows 10上安装和配置Hadoop 2.6.1。 首先,你需要下载Apache Hadoop的...
解压后 里面的压缩吧再次解压就是 hadoop windows安装目录下的资源,复制进去就好 ,附带windows用idea调试的博客链接
Windows版Hadoop插件的出现,使得Windows用户也能方便地在IntelliJ IDEA(简称IDEA)这样的集成开发环境中进行Hadoop相关的开发工作。这个插件允许开发者连接到像CDH(Cloudera Distribution Including Apache ...
你可以使用Eclipse或者IntelliJ IDEA这样的集成开发环境,配合Hadoop的SDK和winutils,创建、调试和运行MapReduce程序。 再者,Hadoop的生态系统中有许多工具,如Hive、Pig、Spark等,它们通常依赖于Hadoop的环境。...
内容概要:windows环境下添加snappy源码,并对2.8.5的apache版本hadoop包进行编译,生成指定的hadoop.dll、snappy.dll文件,方便Windows环境下利用idea工具进行Hadoop、Spark的local模式下代码调试。 版本更新:...
在Windows环境下安装Hadoop是一项相对复杂的工作,因为Hadoop主要设计为在Linux系统上运行。不过,通过一些特定的配置和工具,我们可以在Windows上搭建Hadoop环境。以下是一些关键的步骤和必要的文件包,这些都包含...
在进行Hadoop MapReduce开发时,Windows开发者通常会使用Eclipse或IntelliJ IDEA等IDE,配合Hadoop的插件,以便于编写、测试和调试MapReduce程序。此外,还要确保Hadoop的`classpath`正确包含了所有依赖的JAR文件,...
在Eclipse或IntelliJ IDEA中,可以配置运行/调试配置,使用MiniCluster启动一个本地Hadoop实例来运行和测试你的程序。 7. **文件路径问题**:Windows与Linux的文件路径表示方式不同,Windows使用反斜杠(\),而...
然而,Hadoop的Windows版本使得在Windows环境下进行大数据分析成为可能,这对于Windows开发者和学习者来说非常方便。 Hadoop的核心组件主要包括HDFS(Hadoop Distributed File System)和MapReduce。HDFS是一种...
【标题】"Windows-hadoop-3.1.0.7z" 提供的是Hadoop 3.1.0版本在Windows环境下的配置和使用指南,主要用于在Windows 10操作系统中,通过集成开发环境IntelliJ IDEA(简称IDEA)和构建工具Maven来与Hadoop集群交互。...
在Windows环境下搭建和调试Hadoop是一项技术性较强的工作,因为Hadoop最初是为Linux系统设计的,但在Windows上运行也有其独特的挑战。本篇将详细阐述如何在Windows系统上安装和配置Hadoop,以及如何避免常见的错误。...
本文将深入探讨在Windows环境下搭建Hadoop 3.x环境时所需的依赖以及如何利用IDEA和Maven进行配置。 首先,我们来理解“hadoop3.x的Windows依赖.rar”这个压缩包的作用。在Windows系统上运行Hadoop通常比在Linux环境...
在Windows 7环境下配置和远程调试Hadoop集群是一项挑战,但通过正确的方法和步骤,可以成功实现这一目标。以下是关于这个主题的详细知识: 1. **Hadoop简介**: Hadoop是由Apache基金会维护的一个分布式计算框架,...
标题 "hadoop2.6_Win_x64-master.zip" 提供了我们即将讨论的核心信息:这是一个...通过理解和掌握这些知识点,开发者能够在Windows环境下利用IDEA有效地管理和调试Hadoop集群,从而提高工作效率并优化大数据处理流程。