Hadoop Map Reduction Testing - программа для чтения пользовательских записей

Я написал специальную программу для чтения записей и ищу пример тестового кода для тестирования своей программы для чтения с помощью MRUnit или любой другой среды тестирования. Он работает нормально в соответствии с функциональностью, но я хотел бы добавить тестовые примеры перед установкой. Любая помощь будет заметна.

1 ответ

Решение

На мой взгляд, пользовательский читатель записей похож на любой итератор. Для тестирования моего устройства чтения записей я смог работать без MRUnit или каких-либо других инфраструктур hadoop junit. Тест выполняется быстро, а также занимает мало места. Инициализируйте устройство чтения записей в своем тестовом примере и продолжайте итерировать его. Вот псевдокод из одного из моих тестов. Я могу предоставить вам более подробную информацию, если вы хотите продолжить в этом направлении.

MyInputFormat myInputFormat = new MyInputFormat();
//configure job and provide input format configuration
Job job = Job.getInstance(conf, "test");    
conf = job.getConfiguration();

// verify split type and count if you want to verify the input format also
List<InputSplit> splits = myInputFormat.getSplits(job);

TaskAttemptContext context = new TaskAttemptContextImpl(conf, new TaskAttemptID());
RecordReader<LongWritable, Text> reader = myInputFormat.createRecordReader(splits.get(1), context);
reader.initialize(splits.get(1), context);

for (; number of expected value;) {
  assertTrue(reader.nextKeyValue());
  // verify key and value
  assertEquals(expectedLong, reader.getCurrentKey());
}
Другие вопросы по тегам