文章目录
此实验在windows操作系统下进行的,使用IDEA编译运行
一、环境准备
二、解题思路
- 上传n个文件
- 读取n个文件内容
- 统计每个单曲的数量
- 比较每个单曲数量,得出排名
算法描述:它的本质还是通过Mapreduce编程思想对输入的数据进行排序
三、完整代码
//主类:
package com.hadoop.demo.sort;
/**
* @author: 易霭珞
* @description
* @date: 2022/11/7 19:15
*/
import java.util.Random;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.io.WritableComparator;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.input.SequenceFileInputFormat;
import org.apache.hadoop.mapreduce.lib.map.InverseMapper;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.mapreduce.lib.output.SequenceFileOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;
public class MusicDriver {
public static void main(String[] args) throws Exception {
System.setProperty("HADOOP_USER_NAME","hduser");
Configuration conf = new Configuration();
conf