2015-02-05 5 views
1

Я новичок в шторме апачей, и я искал методы для проверки болта без фактического построения полной топологии. Просто хотел избежать макетов тестирования. Вместо этого я попытался вызвать методы болта, чтобы испустить выход в объекте OutputCollector. Но я пытался найти метод для получения данных из объекта OutputCollector и не нашел никакого метода как такового. Есть ли способ, которым я могу просто получить доступ к значениям, испускаемым в объекте OutputCollector?Испытание бури Болт

+0

вы можете увидеть пример здесь ..https: //github.com/kartikbha/log-processing-by-grouping/blob/master/src/com/poc/standard/LogGenerationSpout.java – kartik

+0

https: // github. com/kartikbha/log-processing-by-grouping/tree/master/src/com/poc/standard/topology/test – kartik

ответ

1

Если вы тестируете только с точки зрения штормовой затем

JUnit

бы это сделать. Но если вы пытаетесь проверить с распределенной вычислительной точки зрения

mrunit

инструмент тестирования должен быть полезным.

+0

Я думаю, что mrunit для тестирования apache hadoop .. его для карты уменьшают рабочие места. Во всяком случае, я следил за junit framework. Но я был обеспокоен сбором кортежей, испущенных на объект OutputCollector –

+0

, чтобы прочитать [link] (http://stackoverflow.com/questions/10996963/hadoop-how-does-outputcollector-work-during-mapreduce), чтобы понять что получено в OutputCollector. Я думаю, что это не то, что вы ищете ... – Raghuveer

1

Один подход к логике проверки болтов заключается в том, чтобы написать FakeDataGeneratorSpout , которые имитируют фактический источник вашей топологии. Build Test Main Topology Builder Класс, который может использовать FakeDataGeneratorSpout для целей тестирования.

Во-вторых, вы можете сохранить логику болтов в простом классе Java и написать junit для них, а затем вызвать этот проверенный метод из реальных болтов.

+0

https://github.com/kartikbha/Storm-Dev-TestingFramework – kartik

Смежные вопросы