java程序员的大数据之路(11):MapReduce的连接
2017-11-28 17:41
405 查看
Map端连接
在两个大规模输入数据集之间的map端连接会在数据到达map函数之前就执行连接操作。各个输入数据集必须被划分成相同数量的分区,并且均按相同的键排序。同一键的所有记录均会放在同一分区之中。Reduce端连接
reduce端连接比map端连接更为常用,因为reduce端连接并不要求输入数据集符合特定结构。但是由于两个数据集均需经过MapReduce的shuffle过程,所以reduce端连接的效率要低一些。边数据分布
“边数据”是作业所需的额外的只读数据,以辅助处理主数据集。为了使所有的map或reduce任务方便而高效的使用边数据,除了分布机制,还可以以静态字段的方式将边数据缓存在内存中。分布式缓存
分布式缓拷贝机制能够在任务运行过程中及时的将文件和存档复制到任务节点以供使用。工作机制
当用户启动一个作业,Hadoop将由-files和-archieves选项所指定的文件复制到jobtracker的文件系统。在运行任务前,tasktracker将文件从jobtracker的文件系统复制到本地磁盘,使任务能够访问文件。tasktracker为缓存中的文件各维护一个计数器,用来统计文件被使用情况。任务即将运行时,被使用的文件的计数器加1,任务结束时,所有计数器减1.当计数器为0时,该文件可以从缓存中移出。缓存大小默认为10GB,可以通过local.cache.size属性设置,单位是字节。文件存放在tasktracker的${mapred.local.dir}/tackTracker/archive目录下。
相关文章推荐
- java程序员的大数据之路(10):MapReduce的排序
- java程序员的大数据之路(8):MapReduce的工作机制
- java程序员的大数据之路(9):MapReduce的类型
- java程序员的python之路(数据类型)
- java程序员的大数据之路(12):Hadoop的守护进程
- java程序员的大数据之路(5):HDFS压缩与解压缩
- java程序员的大数据之路(16):Hive简介
- java程序员的大数据之路(13):Pig入门
- java程序员的大数据之路(4):编程调用HDFS
- java程序员的大数据之路(6):定制的Writable类型
- 大数据学习[11]:JAVA连接elasticsearch5.6.1操作|问题|分析
- java程序员的大数据之路(7):基于文件的数据结构
- java程序员的大数据之路(15):Pig Latin用户自定义函数
- 菜鸟入门:Java程序员学习之路
- Java中连接数据的Hibernate配置
- Java_ABC_7.连接Solr,查询数据
- java 程序员之路
- Access java jdbc连接 insert插入的数据 中文乱码解决方案!!!
- jxl 从excel导入数据到数据库中;java中jdbc连接数据库
- JAVA 连接oracle数据测试程序!