Java

2016-08-10 17 views
5

'daki MapReduce'un girdi ve çıktılarının sayısını alın Harita aşamasının giriş ve çıkışlarının sayısını, azaltma aşamasını ve tüm eşleme/azaltma işini Java ile elde etmek istiyorum. Bu istatistikler Terminalde yazılır ama ben bir Java kodu ile bunu elde etmek ve sadece satırdan sonra, kendi arayüzünde yazmak gerekir:, sen MAP_INPUT_RECORDS sayısını alabilirsinizJava

job_blocking.waitForCompletion(true); 

cevap

0

bu hat sonrasında ve bu sayaçların değerleri alarak REDUCE_OUTPUT_RECORDS (ayrıca MAP_OUTPUT_RECORDS): ile uzun değişkeni ayarlamak yerine başka bir yol (daha kolay) varsa işi çalıştırmak için gerekli süre

long map_input_records = job.getCounters() 
    .findCounter("org.apache.hadoop.mapreduce.Task$Counter","MAP_INPUT_RECORDS") 
    .getValue(); 
long map_output_records = job.getCounters() 
    .findCounter("org.apache.hadoop.mapreduce.Task$Counter","MAP_OUTPUT_RECORDS") 
    .getValue(); 
long reduce_input_records = job.getCounters() 
    .findCounter("org.apache.hadoop.mapreduce.Task$Counter","REDUCE_INPUT_RECORDS") 
    .getValue(); 
long reduce_output_records = job.getCounters() 
    .findCounter("org.apache.hadoop.mapreduce.Task$Counter","REDUCE_OUTPUT_RECORDS") 
    .getValue(); 

, bilmiyorum Yürütülmeden önce ve sonra şimdiki zaman fark edilir.