ReduceJoin 案例 Mapper| 学习笔记

简介: 快速学习 ReduceJoin 案例 Mapper

开发者学堂课程【Hadoop 分布式计算框架 MapReduc:ReduceJoin 案例Mapper学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/94/detail/1547


ReduceJoin 案例 Mapper

 

代码示例

package com.liun.mr.reducejoin;

 

import java.io.IOException;

 

import org.apache.hadoop.io.LongWritable;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Mapper;

import org.apache.hadoop.mapreduce.lib.input.FileSplit;

 

public class TableMapper extends Mapper<LongWritable, Text, Text, TableBean> {

 

String name;

TableBean tableBean = new TableBean();

Text k = new Text();

 

@Override

protected void setup(Context context) throws IOException, InterruptedException {

 

// 获取文件名称

FileSplit inputSplit = (FileSplit) context.getInputSplit();

 

name = inputSplit.getPath().getName();

}

 

@Override

protected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {

 

// 获取一行

String line = value.toString();

 

if (name.startsWith("order")) {// 订单表

 

String[] fields = line.split("\t");

 

tableBean.setOrder_id(fields[0]);

tableBean.setP_id(fields[1]);

tableBean.setAmount(Integer.parseInt(fields[2]));

tableBean.setPname("");

tableBean.setFlag("order");

 

k.set(fields[1]);

 

} else {// 产品表

 

String[] fields = line.split("\t");

 

tableBean.setOrder_id("");

tableBean.setP_id(fields[0]);

tableBean.setAmount(0);

tableBean.setPname(fields[1]);

tableBean.setFlag("pd");

 

k.set(fields[0]);

}

 

// 写出

context.write(k, tableBean);

}

}

相关文章
|
8月前
|
SQL XML Java
mybatis Mapper的概念与实战
MyBatis 是一个流行的 Java 持久层框架,它提供了对象关系映射(ORM)的功能,使得Java对象和数据库中的表之间的映射变得简单。在MyBatis中,Mapper是一个核心的概念,它定义了映射到数据库操作的接口。简而言之,Mapper 是一个接口,MyBatis 通过这个接口与XML映射文件或者注解绑定,以实现对数据库的操作。
212 1
SpringMVC入门到实战------3、@RequestMapping注解(超详细基础知识+实际代码案例)
该博客文章详细介绍了SpringMVC中`@RequestMapping`注解的使用方法,包括其功能、位置、value属性、method属性、params属性、headers属性以及支持的路径风格和占位符,并通过实际代码案例展示了如何建立请求与控制器方法之间的映射关系。
SpringMVC入门到实战------3、@RequestMapping注解(超详细基础知识+实际代码案例)
|
Java 数据库连接 数据库
使用Mybatis逆向工具生成mapper和pojo
使用Mybatis逆向工具生成mapper和pojo
148 0
|
存储 SQL 缓存
MyBatis 学习笔记(六)---源码分析篇---映射文件的解析过程(一)
前面几篇我们介绍了MyBatis中配置文件的解析过程。今天我们接着来看看MyBatis的另外一个核心知识点—映射文件的解析。本文将重点介绍<cache>节点和<cache-ref>的解析。
180 0
MyBatis 学习笔记(六)---源码分析篇---映射文件的解析过程(一)
|
Java 数据库连接 开发者
获得Mapper对象|学习笔记
快速学习获得Mapper对象
250 0
获得Mapper对象|学习笔记
|
SQL XML 缓存
MyBatis 源码学习笔记(二)- MyBatis 进阶(Part B)
MyBatis 源码学习笔记(二)- MyBatis 进阶(Part B)
|
SQL XML 缓存
MyBatis 源码学习笔记(二)- MyBatis 进阶(Part A)
MyBatis 源码学习笔记(二)- MyBatis 进阶(Part A)
MyBatis 源码学习笔记(二)- MyBatis 进阶(Part A)
|
XML SQL 设计模式
mybatis mapper 接口注册流程源码解析
mybatis mapper 接口注册流程源码解析
271 0
mybatis mapper 接口注册流程源码解析
|
Java 关系型数据库 数据库连接
如何使用通用Mapper
集成方法请看上面的文档,集成后,可以继续阅读本页文档。 1. 继承通用的Mapper,必须指定泛型 例如下面的例子: public interface UserInfoMapper extends Mapper { //其他必须手写的接口... } 一旦继承了Mapper,继承的Mapper就拥有了Mapper所有的通用方法。
1977 0
|
XML SQL 缓存
MyBatis Mapper 接口方法执行原理分析
前言 通过前面入门 MyBatis 的文章《MyBatis 初探,使用 MyBatis 简化数据库操作(超详细)》,我们已经对 MyBatis 有了一定了解。
464 0