hadoop 原生MapReduce 实现数据连接

业务逻辑

其实很简单,输入两个文件,一个作为基础数据(学生信息文件),一个是分数信息文件。
学生信息文件:存放学生数据:包括学号,学生名称

分数信息数据:存放学生的分数信息:包括学号,学科,分数。

我们将通过M/R实现根据学号,进行数据关联,最终结果为:学生名称,学科,分数。

模拟数据

学生数据

[[email protected] student_data]$ cat students.txt
1       Randy
2       Tom
3       kitty
4       Lucy
5       Lily
6       Bruce
7       King
8       Jay
9       Melody
10      Kimy
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

分数数据

[[email protected] student_data]$ cat scores.txt
1       English 89
2       English 77
3       English 54
4       English 98
5       English 83
6       English 99
7       English 30
8       English 76
9       English 56
10      English 88
1       Math    79
2       Math    37
3       Math    65
4       Math    88
5       Math    89
6       Math    59
7       Math    60
8       Math    86
9       Math    56
10      Math    68
1       China   89
2       China   67
3       China   84
4       China   68
5       China   43
6       China   89
7       China   70
8       China   96
9       China   56
10      China   78
///////////////////////////////////////////////////////////////////////////////////////////////////////

实现

1)两个文本解析器,分别解析两个文本文件。

时间: 2024-10-06 20:28:22

hadoop 原生MapReduce 实现数据连接的相关文章

[转]hadoop运行mapreduce作业无法连接0.0.0.0/0.0.0.0:10020

14/04/04 17:15:12 INFO mapreduce.Job:  map 0% reduce 0% 14/04/04 17:19:42 INFO mapreduce.Job:  map 41% reduce 0% 14/04/04 17:19:53 INFO mapreduce.Job:  map 64% reduce 0% 14/04/04 17:19:55 INFO mapreduce.Job:  map 52% reduce 0% 14/04/04 17:19:57 INFO 

Hadoop基础---MapReduce对数据进行排序

承接上文:Hadoop基础---流量求和MapReduce程序及自定义数据类型 一:实验数据 对上一篇文章中的数据进行排序处理: 13480253104 180 200 380 13502468823 102 7335 7437 13560439658 5892 400 6292 13600217502 186852 200 187052 13602846565 12 1938 1950 13660577991 9 6960 6969 13719199419 0 200 200 13726230

hadoop学习;block数据块;mapreduce实现例子;UnsupportedClassVersionError异常;关联项目源码

Football on Table 题意:一些杆上有人,人有一个宽度,然后现在有一个球射过去,要求出球不会碰到任何人的概率 思路:计算出每根杆的概率,之后累乘,计算杆的概率的时候,可以先把每块人的区间长度再移动过程中会覆盖多少长度累加出来,然后(1?总和/可移动距离)就是不会碰到的概率 代码: #include <stdio.h> #include <string.h> #include <math.h> const double eps = 1e-8; int t,

Hadoop之MapReduce性能调优

基于对这些组件的深入理解,用户可以很容易通过调整一些关键参数使作业运行效率达到最优,本文将分别从Hadoop管理员和用户角度介绍如何对Hadoop进行性能调优以满足各自的需求. 1 概述 Hadoop性能调优是一项工程浩大的工作,它不仅涉及Hadoop本身的性能调优,还涉及更加底层的硬件.操作系统和Java虚拟机等系统的调优.对这几个系统适当地进行调优均有可能给Hadoop带来性能提升. Hadoop(JobTracker.TaskTracker) JVM OS Hardware(CPU Mem

浅谈hadoop中mapreduce的文件分发

最近在做数据分析的时候,需要在mapreduce中调用c语言写的接口,此时就需要把动态链接库so文件分发到hadoop的各个节点上,原来想自己来做这个分发,大概过程就是把so文件放在hdfs上面,然后做mapreduce的时候把so文件从hdfs下载到本地,但查询资料后发现hadoop有相应的组件来帮助我们完成这个操作,这个组件就是DistributedCache,分布式缓存,运用这个东西可以做到第三方文件的分发和缓存功能,下面详解: 如果我们需要在map之间共享一些数据,如果信息量不大,我们可

Hadoop 学习之单表连接

我在学习hadoop, 在看 陆嘉恒编著的hadoop实战,其中有单表连接的程序,我现在整理一下思路.这个问题是课本上的例子. 给出 child-parent 表, 要求输出 grandchild-grandparent 表 样例输入: child parent Tom Lucy Tom Jack Jone Lucy Jone Jack Lucy Mary Lucy Ben Jack Alice Jack Jesee Terry Alice Terry Jesee Philip Terry Ph

hadoop的mapReduce和Spark的shuffle过程的详解与对比及优化

https://blog.csdn.net/u010697988/article/details/70173104 大数据的分布式计算框架目前使用的最多的就是hadoop的mapReduce和Spark,mapReducehe和Spark之间的最大区别是前者较偏向于离线处理,而后者重视实现性,下面主要介绍mapReducehe和Spark两者的shuffle过程. MapReduce的Shuffle过程介绍 Shuffle的本义是洗牌.混洗,把一组有一定规则的数据尽量转换成一组无规则的数据,越随

Hadoop hdfs&mapreduce核心概念

1.HDFS(分布式文件系统体系) 1.1.NameNode:(名称节点) Hdfs的守护程序 记录文件是如何分割成数据块的,以及这些数据块被存储到了哪些节点上 对内存和I/O进行集中管理 是个单点,发生故障将使集群崩溃 1.2.SecondaryNamenode(辅助名称节点):发生故障进行人工的设置才能实现集群崩溃的问题 监控HDFS状态的辅助后台程序 每个集群都有一个 与NameNode进行通讯,定期保存HDFS元数据快照 与NameNode故障可以作为备用NameNode使用 1.3.D

Hadoop新MapReduce框架Yarn详解

简介 本文介绍了Hadoop自0.23.0版本后新的MapReduce框架(Yarn)原理,优势,运行机制和配置方法等,着重介绍新的yarn框架相对于原框架的差异及改进,并通过Demo示例详细介绍了在新的Yarn框架下搭建和开发Hadoop程序的方法.读者通过本文中新旧Hadoop MapReduce框架的对比,更深刻理解新的yarn框架技术与那里和设计思想,文中的Demo代码经过微小修改既可用于用户基于Hadoop新框架的实际生产环境. Hadoop MapReduceV2(Yarn)框架简介