大数据 爬虫Python AI Sql大数据玩转大数据

大数据hadoop 分布式计算框架(八)semijoin,dis

2019-05-27  本文已影响0人  板绘原画

标题:mapreducer 編程,semijoin,distributedcache 使用,排序,writableComparator 使用

1. semijoin,distributedcache使用

semijoin的意思是在mapper端进行连接适合数据集小(一般为比较小的字典文件)与数据集大的连接。因为数据已经在maper端join了所以不需要运行reducer

使用时在客户端用-Dmapreduce.job.cache.files或者-files通过命令行指定本地文件地址或者hdfs上的文件地址

过程是客户端先把本地文件上传到HDFS(如果指定的是HDFS路径则省略这步),各运行任务节点再从HDFS把文件下载到本地,并创建指向文件的软连接,然后通过软链接访问这个文件,任务运行完成会删除这个软链接

对大数据以及人工智能概念都是模糊不清的,该按照什么线路去学习,学完往哪方面发展,想深入了解,想学习的同学欢迎加入大数据学习qq群:606859705,有大量干货(零基础以及进阶的经典实战)分享给大家,让大家了解到目前国内最完整的大数据高端实战实用学习流程体系 。从java和linux入手,其后逐步的深入到HADOOP-hive-oozie-web-flume-python-hbase-kafka-scala-SPARK等相关知识一一分享!

windows使用时需要关闭UAC,eclipse启动使用管理员模式。否则提示找不到文件或者无法创建软链接

mapper实现

job配置

输入数据

输入字典文件

输出结果

2. 排序,writableComparator

(1)正序,因为reducer输入的key已经是自然排序的,所以直接把输入的key直接输出就可以

mapper实现

reducer实现

job配置

输入数据

运算结果

(2)倒序,需要实现自定义的writableComparator

要有构造方法并指定好key的类型。对父类的compare取反就可以

mapper和reducer实现和正序一样

job配置

输入数据和正序一样

运算结果

上一篇下一篇

猜你喜欢

热点阅读