mapreduce查询mysql表中记录数
来源:互联网 发布:转换成淘宝客链接 编辑:程序博客网 时间:2024/06/05 02:56
package com.zjs.mr2;import java.io.IOException;import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.fs.FileSystem;import org.apache.hadoop.fs.Path;import org.apache.hadoop.io.IntWritable;import org.apache.hadoop.io.LongWritable;import org.apache.hadoop.io.Text;import org.apache.hadoop.mapred.lib.db.DBInputFormat;import org.apache.hadoop.mapreduce.Job;import org.apache.hadoop.mapreduce.Mapper;import org.apache.hadoop.mapreduce.Reducer;import org.apache.hadoop.mapreduce.lib.db.DBConfiguration;import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;public class JobRun {public static void main(String[] args){JobRun jobRun=new JobRun();try {System.out.println(jobRun.run()?"执行成功":"执行失败");} catch (ClassNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (InterruptedException e) {e.printStackTrace();}}public boolean run() throws IOException, ClassNotFoundException,InterruptedException {Configuration conf = new Configuration();conf.set("fs.defaultFS", "hdfs://node6:8020");conf.set("yarn.resourcemanager.hostname", "node7");FileSystem fs = FileSystem.get(conf);DBConfiguration.configureDB(conf, "com.mysql.jdbc.Driver","jdbc:mysql://localhost:3306/test", "root", "123456");Job job = Job.getInstance(conf);job.setMapOutputKeyClass(Text.class);job.setMapOutputValueClass(IntWritable.class);job.setMapperClass(MyMapper.class);job.setReducerClass(MyReduce.class);String[] fields = { "name","id"};DBInputFormat.setInput(job, TestRecord.class,"test", null,"id",fields);Path outPath = new Path("/usr/output/test");if (fs.exists(outPath)) {fs.delete(outPath, true);}FileOutputFormat.setOutputPath(job, outPath);return job.waitForCompletion(true);}static class MyMapper extendsMapper<LongWritable, TestRecord, Text, IntWritable> {private IntWritable value = new IntWritable(1);private Text k = new Text("count");@Overrideprotected void map(LongWritable key,TestRecord tr,Mapper<LongWritable, TestRecord, Text, IntWritable>.Context context)throws IOException, InterruptedException {context.write(k, value);}}static class MyReduce extends Reducer<Text, IntWritable, Text, IntWritable> {IntWritable v = new IntWritable();@Overrideprotected void reduce(Text key, Iterable<IntWritable> value,Reducer<Text, IntWritable, Text, IntWritable>.Context context)throws IOException, InterruptedException {int sum = 0;for (IntWritable i : value) {sum += i.get();}v.set(sum);context.write(key, v);}}}
package com.zjs.mr2;import java.io.DataInput;import java.io.DataOutput;import java.io.IOException;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;import org.apache.hadoop.io.Text;import org.apache.hadoop.io.Writable;import org.apache.hadoop.io.WritableComparable;import org.apache.hadoop.mapreduce.lib.db.DBWritable;public class TestRecord implements Writable,DBWritable{private String name;private int id;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getId() {return id;}public void setId(int id) {this.id = id;}@Overridepublic void readFields(ResultSet in) throws SQLException {this.name=in.getString(1);this.id=in.getInt(2);}@Overridepublic void write(PreparedStatement out) throws SQLException {out.setString(1,this.name);out.setInt(2,this.id);}@Overridepublic void readFields(DataInput in) throws IOException {this.name=Text.readString(in);this.id=in.readInt();}@Overridepublic void write(DataOutput out) throws IOException {Text.writeString(out, this.name);out.writeInt(this.id);}@Overridepublic String toString() {return this.name+" "+this.id;}}
0 0
- mapreduce查询mysql表中记录数
- MapReduce 查询mysql表中的数据,打印记录数,并转储回mysql表
- mysql超一亿条记录中快速查询总记录条数
- MySQL 查询所有表中的记录数
- mysql查询上月记录数
- mysql查询某一个表中,某一字段有重复的记录条数
- 高效查询mysql表的总记录数
- mysql-oracle查询所有表的记录数
- mysql查询当天的记录数
- SQL查询数据库中每张表的记录数!
- SQL查询数据库中每张表的记录数
- hibernate HQL查询数据库表中记录的条数
- Oracle查询数据库中所有表的记录数
- 转至Oracle查询数据库中所有表的记录数
- SQL查询数据库中所有表的记录条数
- 查询数据中所有表实际记录数
- Oracle查询数据库中所有表的记录数
- Oracle查询数据库中所有表的记录数
- 拆分整数
- Hibernate 所有缓存机制详解
- 2015年8月20日21:03:18 firstNotRepeatingChar 哈希表实现O(n)
- android 添加视频、图片、录音上传(二)
- 第90讲:基于Scala的Actor之上的分布式并发消息驱动框架Akka初体验学习笔记
- mapreduce查询mysql表中记录数
- POJ 题目3237 Tree(Link Cut Tree边权变相反数,求两点最大值)
- 排序算法(Java语言)——希尔排序
- studio 2010快捷键
- 强名称程序集(strong name assembly)——为程序集赋予强名称
- Perfection
- hdu5407数学
- 02-线性结构4. Pop Sequence (25)
- 数组的练习