Análise de dados em MapReduce

Ola pessoal,
Estou com dificuldade em realizar os seguintes filtros na etapa Map na linguagem java. Das 8 etapas que são solicitadas apenas consegui realizar uma, que foi a etapa 3;
package com.pucpr.projetoatp;

import java.io.IOException;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

/**
*

  • @author gabriel.owadiuk
    */
    public class Informacao1 {

    public static class MapperInformacao1 extends Mapper<Object, Text, Text, IntWritable>{

     @Override
     public void map(Object chave, Text valor, Context context) throws IOException, InterruptedException{
         String linha = valor.toString();
         String[] campos = linha.split(";");
         if(campos.length ==10){
             String ano = campos[1];
             int ocorrencia = 1;
             
             Text chaveMap = new Text(ano);
             IntWritable valorMap = new IntWritable(ocorrencia);
             
             context.write(chaveMap, valorMap);
         }
     }
    

    }

    public static class ReducerInformacao1 extends Reducer <Text, IntWritable, Text, IntWritable>{

     @Override
     public void reduce(Text chave, Iterable<IntWritable> valores, Context context) throws IOException, InterruptedException{
         int soma = 0;
         for(IntWritable val : valores){
             soma += val.get();
         }
         IntWritable valorSaida = new IntWritable(soma);
         context.write(chave, valorSaida);
         }
     }
    

    public static void main(String[] args) throws IOException, InterruptedException, ClassNotFoundException {

     String arquivoEntrada ="/home/Disciplinas/FundamentosBigData/OperacoesComerciais/base_100_mil.csv";
     String arquivoSaida ="/home2/ead2022/SEM1/gabriel.owadiuk/Desktop/implementacaoLocalMR/informacao1";
     
     if(args.length ==2){
         arquivoEntrada = args[0];
         arquivoSaida = args[1];            
     }
     
     Configuration conf = new Configuration();
     Job job = Job.getInstance(conf,"atividade1");
        
     job.setJarByClass(Informacao1.class);
     job.setMapperClass(MapperInformacao1.class);
     job.setReducerClass(ReducerInformacao1.class);
     job.setOutputKeyClass(Text.class);
     job.setOutputValueClass(IntWritable.class);
     
     FileInputFormat.addInputPath(job, new Path(arquivoEntrada));
     FileOutputFormat.setOutputPath(job, new Path(arquivoSaida));
       
     job.waitForCompletion(true);
    

    }

}

1.País com a maior quantidade de transações comerciais efetuadas.
2.Mercadoria com a maior quantidade de transações comerciais no Brasil (como a base de dados está em inglês, utilize Brazil).
3.Quantidade de transações comerciais realizadas por ano.
4.Mercadoria com maior quantidade de transações financeiras.
5.Mercadoria com maior quantidade de transações financeiras em 2016.
6.Mercadoria com maior quantidade de transações financeiras em 2016, no Brasil (como a base de dados está em inglês, utilize Brazil).
7.Mercadoria com maior total de peso, de acordo com todas as transações comerciais.
8.Mercadoria com maior total de peso, de acordo com todas as transações comerciais, separadas por ano. Alguem poderia me auxiliar? estou procurando materiais para ajuda e estou me batendo para formular na linguagem java a questao do map;