大数据技术之hadoop ——(十一)OutputFormat概述、自定义OutputFormat

本文介绍了Hadoop MapReduce中的OutputFormat,包括OutputFormat概述,如它是所有MapReduce输出的基类, 默认使用TextOutputFormat。当系统默认格式无法满足需求时,可以自定义OutputFormat。文章通过一个实例展示了如何自定义OutputFormat,将包含'baidu'的日志输出到baidu.log,其余输出到other.log。
摘要由CSDN通过智能技术生成

文章目录

        一、OutputFormat概述

        二、自定义OutputFormat


 前面学习了MapReduce流程中的shuffle阶段,现在学习OutputFormat数据输出

一、OutputFormat概述

【1】OutputFormat接口实现类:OutputFormat是MapReduce输出的基类,所有实现MapReduce输出都实现了 OutputFormat接口。

【2】默认输出格式是TextOutputFormat

【3】自定义OutputFormat

很多情况下系统提供的不能满足开发需求,需要我们自己自定义OutputFormat实现类 例如:输出数据到MySQL/Hbase中

【4】自定义OutputFormat的步骤

  • 自定义一个类继承FileOutputFormat

  • 修改RecordWriter,具体改写输出数据的write()方法

二、自定义OutputFormat

过滤输入的 log 日志,包含 baidu的网站输出到baidu.log,不包含 baidu的网站输出到other.log

【1】编写mapper

package com.zhou.MapReduce.OutputFormat.Log1;

import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Mapper;

import java.io.IOException;

/**
 * @author zhouhao
 * @date 2021/7/31 - 22:17
 */
public class LogMapper extends Mapper<LongWritable, Text,Text, NullWritable> {
    @Override
    protected void map(LongWritable key, Text value, Context 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值