Hadoop с использованием C++ каналов: как вызвать Mapper.cleanup()

Используя C++ pipe api(1.2.0), как я могу получить вызов в Mapper.cleanup() после фазы map() маппера? В основном для каждого чанка я хочу сохранить свои записи в памяти во время фазы карты, а затем применить некоторую обработку позже.

Любые советы приветствуются, спасибо,

1 ответ

Класс Mapper C++ расширяется Closable:

class Mapper: public Closable {
public:
  virtual void map(MapContext& context) = 0;
};

а также Closable имеет следующую подпись:

class Closable {
public:
  virtual void close() {}
  virtual ~Closable() {}
};

Так что (не будучи программистом на C++), я думаю, вам просто нужно написать свою логику в методе с именем close

Другие вопросы по тегам