Várias entradas do Hadoop
Estou usando o hadoop map red e quero calcular dois arquivos. Minha primeira iteração Map / Reduce está fornecendo um arquivo com um número de identificação de par como este:
A 30
D 20
Meu objetivo é usar esse ID do arquivo para associar-se a outro arquivo e ter outra saída com um trio: ID, Número, Nome, assim:
A ABC 30
D EFGH 20
Mas não tenho certeza se o uso do Map Reduce é a melhor maneira de fazer isso. Seria melhor, por exemplo, usar um leitor de arquivos para ler o segundo arquivo de entrada e obter o nome por ID? Ou posso fazê-lo com o Map Reduce?
Se sim, estou tentando descobrir como. Eu tentei uma solução MultipleInput:
MultipleInputs.addInputPath(job2, new Path(args[1]+"-tmp"),
TextInputFormat.class, FlightsByCarrierMapper2.class);
MultipleInputs.addInputPath(job2, new Path("inputplanes"),
TextInputFormat.class, FlightsModeMapper.class);
Mas não consigo pensar em nenhuma solução para combinar as duas e obter a saída que desejo. O jeito que eu tenho agora está apenas me dando a lista como este exemplo:
A ABC
A 30
B ABCD
C ABCDEF
D EFGH
D 20
Depois da minha última redução, estou conseguindo:
N125DL 767-332
N125DL 7 ,
N126AT 737-76N
N126AT 19 ,
N126DL 767-332
N126DL 1 ,
N127DL 767-332
N127DL 7 ,
N128DL 767-332
N128DL 3
Quero o seguinte: N127DL 7 767-332. E também não quero os que não combinam.
E esta é a minha classe de redução:
a classe pública FlightsByCarrierReducer2 estende o redutor {
String merge = "";
protected void reduce(Text token, Iterable<Text> values, Context context)
throws IOException, InterruptedException {
int i = 0;
for(Text value:values)
{
if(i == 0){
merge = value.toString()+",";
}
else{
merge += value.toString();
}
i++;
}
context.write(token, new Text(merge));
}
}
Atualizar:
http://stat-computing.org/dataexpo/2009/the-data.html Este é o exemplo que estou usando.
Estou tentando com: TailNum e Canceled que é (1 ou 0) obter o nome do modelo que corresponde ao TailNum. Meu arquivo com o modelo tem um TailNumb, Model e outras coisas. Minha saída atual é:
N193JB ERJ 190-100 IGW
N194DN 767-332
N19503 EMB-135ER
N19554 EMB-145LR
N195DN 767-332
N195DN 2
Primeiro vem a chave, depois o modelo, as chaves que têm vôos cancelados, apperas abaixo do modelo
E eu gostaria de uma chave de trio, número do modelo cancelado, porque eu quero o número de cancelamentos por modelo