MapReduce关系代数运算——投影
MapReduce关系代数运算——投影
关系沿用上一个选择运算的关系R,StudentR类也是一致的,本博文中就不赘述了。
MapReduce程序设计
- Projection
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.LongWritable;
import org.apache.hadoop.io.NullWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.input.TextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.mapreduce.lib.output.TextOutputFormat;import java.io.IOException;public class Projection {public static class ProjectionMap extends Mapper<LongWritable, Text, Text, NullWritable> {private int col;@Overrideprotected void setup(Context context) throws IOException, InterruptedException {col = context.getConfiguration().getInt("col", 0);}@Overrideprotected void map(LongWritable key, Text value, Context context) throws IOException, InterruptedException {StudentR record = new StudentR(value.toString());context.write(new Text(record.getCol(col)), NullWritable.get());}}public static void main(String[] args) throws IOException, ClassNotFoundException, InterruptedException {Configuration conf = new Configuration();conf.setInt("col", Integer.parseInt(args[2]));Job projectionJob = Job.getInstance(conf, "ProgectionJob");projectionJob.setJarByClass(Projection.class);projectionJob.setMapperClass(ProjectionMap.class);projectionJob.setMapOutputKeyClass(Text.class);projectionJob.setMapOutputValueClass(NullWritable.class);projectionJob.setNumReduceTasks(0);projectionJob.setInputFormatClass(TextInputFormat.class);projectionJob.setOutputFormatClass(TextOutputFormat.class);FileInputFormat.addInputPath(projectionJob, new Path(args[0]));FileOutputFormat.setOutputPath(projectionJob, new Path(args[1]));projectionJob.waitForCompletion(true);System.out.println("finished!");}
}
运行
像之前的WordCount一样将代码打包出来,生成Projection.jar文件,但是在终端运行的时候,需要注意的是不只是输入两个路径,而应该输入选择的条件。如本例中,我们要输出学生成绩信息,则应该选定第四列grade
字段:
hadoop jar Projection.jar /input /output 4
查看输出结果:
欢迎查看我的博客:Welcome To Ryan’s Home
MapReduce关系代数运算——投影相关推荐
- MapReduce关系代数运算——选择
MapReduce关系代数运算 常见的MapReduce关系代数运算有:选择.投影.并.交.差以及自然连接操作等,本文将介绍选择运算.后续博文介绍其他运算. 关系R 关系R id name age g ...
- MapReduce关系代数运算——差
MapReduce关系代数运算--差 关系沿用上一个选择运算的关系R和S,StudentR类也是一致的,本博文中就不赘述了. MapReduce程序设计 DifferenceMap import or ...
- MapReduce关系代数运算——自然连接
MapReduce关系代数运算--自然连接 关系沿用之前的R. 创建两个文件 表1 student id name sex age 1 Amy female 18 2 Tom male 19 3 Sa ...
- MapReduce关系代数运算
常见关系代数运算包括:选择.投影.并.交.差以及自然连接操作等,都可以十分容易利用MapReduce框架进行并行化计算 关系R NAME SEX AGE 小明 男 25 小红 女 18 小张 男 22 ...
- MapReduce的关系代数运算
关系代数 概念 R(A1,A2,...,An)R(A_1,A_2,...,A_n)R(A1,A2,...,An)表示关系的名称是RRR,其属性是A1,A2,...,AnA_1,A_2,...,A ...
- MapReduce 基础算法【关系代数运算】
关系代数运算 MapReduce可以在关系代数的运算上发挥重要的作用,因为关系代数运算具有数据相关性低的特性,这使得其便于进行MapReduce的并行化算法设计. 常见的关系代数运算包括选择.投影.并 ...
- mysql将sql转为关系代数_关系数据库基础:关系代数运算知识笔记
1.关系代数运算符 集合运算符:并(U).差(-).交(∩).笛卡尔积(×) 专门的关系运算符:选择(∂).投影(π).连接(∞).除(÷) 算术比较符:大于(>).大于等于(≥).小于(< ...
- 计算机二级关系代数运算知识点,计算机二级:关系代数运算.doc
精品文档 . 公共基础专题探究--关系代数运算 序号 高频考点 1 自然连接:一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉 自然连接满足下面的条 ...
- mysql将sql转为关系代数_MySQL实现关系代数运算
MySQL实现关系代数运算 MySQL实现关系代数运算 MySQL实现关系代数运算 [var1] 两表的所有元组 select * from department; select * from ins ...
最新文章
- C# Web实时消息后台服务器推送技术---GoEasy
- Entity Framework中的字符串插值引发担忧
- hadoop 二次开发DatanodeWriteTimeout设置
- NOIP 2016(不是游记)
- 随机抽样方法正太分布 MC, MCMC, Gibbs采样 原理实现(in R)
- Unity动态加载本地图片
- 内嵌网页 UniWebView 3 的使用
- 小程序毕设作品之微信校园洗衣小程序毕业设计成品(6)开题答辩PPT
- 汇川小型PLC-MODBUS(485)通讯模式
- 如何将已有图片做成透明水印_如何给图片制作透明水印
- 如何实现 React 中的状态自动保存?
- 【zheng】学习搭建github的高星项目:zheng
- 匈牙利算法(简单易懂)
- Python3-网页爬取-批量爬取贴吧页面数据
- windows2003 php 加速,window_Win 2003 加速****,微软的Windown Server 2003尽管它是 - phpStudy...
- docker run 命令的 -i -t -d选项的作用
- java 内存很高_Java服务器内存和CPU占用过高的原因
- 【笔记】Polygon mesh processing 学习笔记(10)
- Ubuntu整个系统迁移到其他盘办法
- C语言实现通讯录(使用文件保存信息)