Spark Structured Streaming - Processando cada linha

Estou usando o streaming estruturado com o Spark 2.1.1. Preciso aplicar alguma lógica de negócios às mensagens recebidas (da fonte Kafka).

essencialmente, preciso captar a mensagem, obter alguns valores-chave, procurá-los no HBase e executar mais lógica de negócios no conjunto de dados. o resultado final é uma mensagem de sequência que precisa ser gravada em outra fila Kafka.

No entanto, como a abstração para mensagens recebidas é um quadro de dados (tabela ilimitada - fluxo estruturado), eu tenho que percorrer o conjunto de dados recebido durante um gatilho através demapPartitions (partições devido ao cliente HBase não ser serializável).

Durante o meu processo, eu preciso percorrer cada linha para executar o processo de negócios para o mesmo.

Existe uma abordagem melhor possível que possa me ajudar a evitar odataFrame.mapPartitions ligar? Eu sinto sua sequencial e iterativa !!O fluxo estruturado basicamente me obriga a gerar um quadro de dados de saída do meu processo de negócios, enquanto não há nenhum para começar. Que outro padrão de design posso usar para alcançar meu objetivo final?

Você recomendaria uma abordagem alternativa?

questionAnswers(1)

yourAnswerToTheQuestion