Hadoop :分布式缓存

本文介绍了如何使用Hadoop通过MapReduce实现分布式缓存来处理大表和小表的问题。实验模拟了100G的大表big.txt和1M的小表small.txt,通过配置多个Map任务,利用HashSet加载小表并在Map阶段扫描大表。详细步骤包括创建文本文件、编写Java代码、打包上传到Hadoop环境并执行,最终检查执行结果。
摘要由CSDN通过智能技术生成

Hadoop :分布式缓存


一、 实验目的

  1. 理解序列化与反序列化;
  2. 熟悉 Configuration 类;
  3. 学会使用 Configuration 类进行参数传递;
  4. 学会在 Map 或 Reduce 阶段引用 Configuration 传来的参数;
  5. 理解分布式缓存“加载小表、扫描大表”的处理思想。

二、 实验要求
假定现有一个大为 100G 的大表 big.txt 和一个大小为 1M 的小表 small.txt,请基于
MapReduce 思想编程实现判断小表中单词在大表中出现次数。也即所谓的“扫描大表、
加载小表”。

三、 实验步骤
为解决上述问题,可开启 10 个 Map、这样,每个 Map 只需处理总量的 1/10,将大
大加快处理。而在单独 Map 内,直接用 HashSet 加载“1M 小表”,对于存在硬盘(Map
处理时会将 HDFS 文件拷贝至本地)的 10G 大文件,则逐条扫描,这就是所谓的“扫描
大表、加载小表”,也即分布式缓存。
大数据实验手册 Hadoop 实验 :分布式缓存

由于实验中没有 100G 这样的大表,甚至连 1M 这样的小表都没有,因为本实验采用
模拟方式,用少量数据代表大文件 big.txt,更少量数据代表 small.txt。整个实验步骤为

1.创建两个.txt文件(big.txt small.txt)
这是big.txt文档的内容
这是small.txt文档的内容
将这两个文档用XFTP 传入到虚拟机中
注意我传入的目录路径哟!
这是传到虚拟机的截图
2.在IntelliJ IDEA 中编写Java代码:创建一个BigAndSmallTable类
注意:需要导

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值