block by proclamo 5f7ccf1487cd5560fbc648b6000e7286

Kinesis consumer java

La KCL (Kinesis Client Library) pide implementar una factory de Consumers, así se encarga ella misma de crear tantos workers como hagan falta según la carga. El Consumer tiene que implementar la interfaz IRecordProcessor la cual obliga a implementar tres métodos:

  1. public void initialize(InitializationInput ii) Aquí se puede obtener el id del sharding entre otros datos

  2. public void processRecords(ProcessRecordsInput pri) Aquí se obtine el conjunto de records del microbatch y se procesan. Desde aqui se podría pasar a Spark por ejemplo. IMPORTANTE: después de procesar el batch, hay que decirla a Kinesis que actualice el puntero: checkpoint(pri.getCheckpointer());

  3. public void shutdown(ShutdownInput si) Aquí de momento sólo actualizo el puntero, pero además se podrían cerrar los archivos que estuvieran abiertos, etc

Consumer.java

ConsumerFactory.java

Main.java