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关系代数运算——投影相关推荐

  1. MapReduce关系代数运算——选择

    MapReduce关系代数运算 常见的MapReduce关系代数运算有:选择.投影.并.交.差以及自然连接操作等,本文将介绍选择运算.后续博文介绍其他运算. 关系R 关系R id name age g ...

  2. MapReduce关系代数运算——差

    MapReduce关系代数运算--差 关系沿用上一个选择运算的关系R和S,StudentR类也是一致的,本博文中就不赘述了. MapReduce程序设计 DifferenceMap import or ...

  3. MapReduce关系代数运算——自然连接

    MapReduce关系代数运算--自然连接 关系沿用之前的R. 创建两个文件 表1 student id name sex age 1 Amy female 18 2 Tom male 19 3 Sa ...

  4. MapReduce关系代数运算

    常见关系代数运算包括:选择.投影.并.交.差以及自然连接操作等,都可以十分容易利用MapReduce框架进行并行化计算 关系R NAME SEX AGE 小明 男 25 小红 女 18 小张 男 22 ...

  5. MapReduce的关系代数运算

    关系代数 概念 R(A1,A2,...,An)R(A_1,A_2,...,A_n)R(A1​,A2​,...,An​)表示关系的名称是RRR,其属性是A1,A2,...,AnA_1,A_2,...,A ...

  6. MapReduce 基础算法【关系代数运算】

    关系代数运算 MapReduce可以在关系代数的运算上发挥重要的作用,因为关系代数运算具有数据相关性低的特性,这使得其便于进行MapReduce的并行化算法设计. 常见的关系代数运算包括选择.投影.并 ...

  7. mysql将sql转为关系代数_关系数据库基础:关系代数运算知识笔记

    1.关系代数运算符 集合运算符:并(U).差(-).交(∩).笛卡尔积(×) 专门的关系运算符:选择(∂).投影(π).连接(∞).除(÷) 算术比较符:大于(>).大于等于(≥).小于(< ...

  8. 计算机二级关系代数运算知识点,计算机二级:关系代数运算.doc

    精品文档 . 公共基础专题探究--关系代数运算 序号 高频考点 1 自然连接:一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉 自然连接满足下面的条 ...

  9. mysql将sql转为关系代数_MySQL实现关系代数运算

    MySQL实现关系代数运算 MySQL实现关系代数运算 MySQL实现关系代数运算 [var1] 两表的所有元组 select * from department; select * from ins ...

最新文章

  1. C# Web实时消息后台服务器推送技术---GoEasy
  2. Entity Framework中的字符串插值引发担忧
  3. hadoop 二次开发DatanodeWriteTimeout设置
  4. NOIP 2016(不是游记)
  5. 随机抽样方法正太分布 MC, MCMC, Gibbs采样 原理实现(in R)
  6. Unity动态加载本地图片
  7. 内嵌网页 UniWebView 3 的使用
  8. 小程序毕设作品之微信校园洗衣小程序毕业设计成品(6)开题答辩PPT
  9. 汇川小型PLC-MODBUS(485)通讯模式
  10. 如何将已有图片做成透明水印_如何给图片制作透明水印
  11. 如何实现 React 中的状态自动保存?
  12. 【zheng】学习搭建github的高星项目:zheng
  13. 匈牙利算法(简单易懂)
  14. Python3-网页爬取-批量爬取贴吧页面数据
  15. windows2003 php 加速,window_Win 2003 加速****,微软的Windown Server 2003尽管它是 - phpStudy...
  16. docker run 命令的 -i -t -d选项的作用
  17. java 内存很高_Java服务器内存和CPU占用过高的原因
  18. 【笔记】Polygon mesh processing 学习笔记(10)
  19. Ubuntu整个系统迁移到其他盘办法
  20. C语言实现通讯录(使用文件保存信息)

热门文章

  1. Jetson-Nano挂载TF卡/挂载磁盘
  2. GMT中文字体显示配置
  3. 分数的加减乘除(运算符重载)
  4. 一次线上服务CPU100%的排查过程
  5. 如何构建关系型数据库
  6. node联合echarts简单实现疫情地图
  7. GMap.net在winform中调用高德地图
  8. Servlet 04
  9. ad Hoc打包测试
  10. CPI成折叠式OLED面板保护层关键材料