关注公众号:分享电脑学习
回复"百度云盘" 可以免费获取所有学习文档的代码(不定期更新)
云盘目录说明:
tools目录是安装包
res 目录是每一个课件对应的代码和资源等
doc 目录是一些第三方的文档工具
承接上一个文档《新增访客数量MR统计之数据库准备》
首先将MR数据输出到MySQL
创建TransformerOutputFormat和ICollector,文件位置如下:

完成ICollector的代码

完成TransformerOutputFormat代码如下:
自定义的数据输出格式器,要求: 1. 数据输出到mysql 2. 要体现代码的公用性

接着下面的部分

使用的是FileOutputFormat中默认的方式

自定义的具体将reducer输出数据输出到mysql表的输出器

构造方法

Write方法

Close方法

修改Runner类,配置方法加入所需要的配置文件

将reduce的输出类型更改为MapWritableValue
job.setOutputValueClass(MapWritableValue.class);

给定自定义的outputformat类
job.setOutputFormatClass(TransformerOutputFormat.class);

如果全改了,可以测试运行下
先看下HDFS上有没有数据

下载下来查看下

再看下数据库有没有数据,发现有数据,本地环境就没有问题了,现在看下打包到Linux上之后是否有问题。

先打包程序运行一下


运行jar包,查看屏幕信息

查看屏幕输出信息

查看HDFS上是有数据的

代码已经上传到云盘了,可以下载调试一下

本文详细介绍了一种将MapReduce(MR)数据输出至MySQL数据库的方法。通过自定义TransformerOutputFormat和ICollector,实现了数据从HDFS到MySQL的迁移。文章提供了具体的代码实现,包括构造方法、Write方法及Close方法,并指导如何修改Runner类以加入所需配置。
4565

被折叠的 条评论
为什么被折叠?



