package com.xhb1.test;
import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapred.JobConf;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import com.test.UserBroserCount;
public class RunBroserCount {
public static void main(String[] args) throws Exception {
String inputPath = "/logdata/userLogFile.log";
String outputPath = "/oozie/test1";
new RunBroserCount().runBroserCount(inputPath, outputPath);
}
public void runBroserCount(String inputPath, String outputPath)
throws IOException, InterruptedException, ClassNotFoundException {
Configuration conf = new Configuration();
conf.set("fs.default.name", "hdfs://192.168.0.170:4310");
//conf.set("hadoop.job.user", "root");
conf.set("mapred.job.tracker", "192.168.0.170:4311");
Job job = new Job(conf, "browserCount");
((JobConf) job.getConfiguration()).setJar("E:/workspaces/pmp/BrowserCount/target/pr.jar");
job.setJarByClass(UserBroserCount.class);
job.setMapOutputValueClass(IntWritable.class);
job.setMapperClass(UserBroserCount.UserBroserCountMapper.class);
job.setReducerClass(UserBroserCount.UserBroserCountReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
FileInputFormat.addInputPath(job, new Path(inputPath));
FileOutputFormat.setOutputPath(job, new Path(outputPath));
job.waitForCompletion(true);
}
}
分享到:
相关推荐
本压缩包"**Hadoop客户端Java代码.zip**"包含了使用Java语言编写Hadoop客户端应用的源代码,这对于理解Hadoop的客户端编程接口以及进行数据处理是非常有帮助的。以下是基于Hadoop客户端Java代码的一些关键知识点: ...
6. **Hadoop客户端API**:源码可能包含使用Hadoop客户端提交和监控作业的代码,这有助于理解作业执行的生命周期。 在实际学习和使用这些源代码时,你可以通过以下步骤深入理解Hadoop和Java的结合: 1. **阅读和...
1. 配置Hadoop客户端:在Java代码中,你需要通过`Configuration`类设置Hadoop集群的相关配置,如HDFS的名称节点地址和Hadoop的配置文件路径。 ```java Configuration conf = new Configuration(); conf.set("fs....
总结,Hadoop客户端与服务器的通信涉及多个层次,包括HDFS的元数据查询、数据读写以及MapReduce任务的提交与执行。理解这一通信机制对于优化Hadoop集群性能、调试问题以及开发基于Hadoop的应用至关重要。同时,...
`hadoop-mapreduce-client-core`则包含MapReduce的基本操作,比如Job提交、任务调度等。 在Java项目中,这些jar包通常通过Maven或Gradle等构建工具管理。在Maven的`pom.xml`文件中,你可以添加如下依赖来引入Hadoop...
4. **配置和运行Job**:在Java代码中,我们需要创建一个Job实例,设置输入输出路径,以及Mapper和Reducer类。然后提交这个Job到Hadoop集群,让其执行MapReduce任务。 5. **结果处理**:MapReduce完成后,会生成输出...
Java API提供了`Job`类,可以用来提交Job、获取Job状态、等待Job完成并获取最终输出。结合SSH,可以在远程节点上执行数据分析脚本,对MapReduce的结果进行进一步处理。 文件名为“ssh_v3-1.1”的压缩包可能包含的是...
- "resources"目录用于存放非Java代码的资源文件,如配置文件、图片等。 - "classes"目录包含了编译后的Java类文件,这些是运行时需要的字节码文件。 - "lib"目录包含了项目运行所依赖的外部库,如JAR文件。对于...
1. **Hadoop客户端**:开发人员通常使用Hadoop的Java API来编写MapReduce程序。客户端包含了提交作业到集群、监控作业状态和获取结果的功能。例如,`Job`类用于创建和配置作业,`FileSystem`类用于文件操作。 2. **...
PHP操作Hadoop通常有两种方式:通过Hadoop的Java API进行间接调用,或者使用PHP的Hadoop客户端库。"HadooPHP-master"可能包含了后者的实现,即使用PHP代码直接与Hadoop交互。 1. **Hadoop PHP接口**:为了在PHP中...
04-HDFS的JAVA客户端编写.avi 05-filesystem设计思想总结.av i 06-hadoop中的RPC框架实现机制.avi 07-hadoop中的RPC应用实例demo.avi 08-hdfs下载数据源码跟踪铺 垫.avi 09-hdfs下载数据源码分析-getFile...
在Eclipse中,通过右键点击项目,选择“Run As” > “Hadoop Job”,设置好Job配置后提交作业。程序执行完成后,结果会被写入到HDFS的指定输出目录,你可以下载并查看频率最高的词语。 总结起来,这个示例展示了...
2. `hadoop-mapreduce-client-jobclient-2.2.0.jar`: 这个JAR文件主要包含MapReduce客户端工具,用于与Hadoop集群进行交互,比如提交Job、监控Job状态、终止Job等。它实现了客户端API,使得开发者可以在本地或远程...
04-HDFS的JAVA客户端编写.avi 05-filesystem设计思想总结.avi 06-hadoop中的RPC框架实现机制.avi 07-hadoop中的RPC应用实例demo.avi 08-hdfs下载数据源码跟踪铺垫.avi 09-hdfs下载数据源码分析-getFileSystem....
【Hadoop MapReduce 学习代码 - WordCount】 在大数据处理领域,Hadoop MapReduce 是一个重要的工具,它提供了一种分布式计算模型,用于处理和生成大规模数据集。本篇文章将详细讲解如何通过一个简单的 WordCount ...
`lib`目录包含了插件运行所需的外部库,比如Hadoop客户端库。这些库使得插件能够与远程Hadoop集群通信,执行提交、监控和调试MapReduce作业的任务。 使用Hadoop-Eclipse插件,开发者可以在本地进行MapReduce作业的...
2. **hadoop-client.jar**:这个JAR包包含了Hadoop客户端所需的全部依赖,包括HDFS、MapReduce和YARN的客户端API。 3. **hadoop-hdfs.jar**:Hadoop分布式文件系统(HDFS)的相关类库,用于与HDFS交互。 4. **...
3. **lib**:这里包含了插件运行所需的第三方库文件,比如Hadoop客户端的相关jar包,这些库文件使得插件能够与Hadoop集群通信,执行MapReduce任务。 4. **META-INF**:这是标准的Java存档(JAR)文件的一部分,包含...
在Hadoop MapReduce框架中,客户端的任务提交是整个MapReduce作业启动的关键步骤。这一过程主要由`JobClient`类中的`runJob(JobConf job)`静态方法完成。 ##### 1.1 提交任务的具体步骤 - **创建JobClient对象**:...