mapreduce输出结果到mysql

Mapreduce程序在reduce阶段执行后,默认会把结果输出到hdfs文件系统上(使用context.wirte()),如果要把结果写到mysql中,需要重写Writable、DBWritable这两个类中的方法。

以wordCount程序为例,下面讲解如何把word和count输出到mysql中。

1、首先在mysql中创建表test,结构如下test (id bigint(20),name varchar(200),w_count int(4))

2、把mysql驱动jar放到classpath下;

3、创建实体类,对应数据库中的表结构;同时实现接口Writable、DBWritable

注:id是自动生成,所以这里不需要ps.setLong(); 其实这里只需要重写前两个方法即可(readFields(ResultSet rs) 和write(PreparedStatement ps))

4、Map类(和其他map一样)

5、reduce类:

和普通的reduce略有不同。extends Reducer

6、主方法:

注:这里job.setOutputFormatClass(DBOutputFormat.class); 需要制定成数据库的输出。

Original: https://blog.51cto.com/u_5650011/5385536
Author: 赶路人儿
Title: mapreduce输出结果到mysql

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/517402/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球