Modifiers

Durante o fluxo de dados, o desenvolvedor poderá manipular e processar os dados sob demanda. Neste interim, surge a ideia dos modificadores (Modifiers). O desenvolvedor poderá adicionar modificadores e eles irão manipular os dados após a função listen. Alguns exemplos de possibilidade:

  • Geração de ruído
  • Processamento de dados
  • Filtragem de dados

FilterModifier

O FilterModifier é um Modifier com objetivo em filtrar colunas desnecessárias do stream. Exemplo de utilização:

EasyStream.reset!(stream_filter) # função para reiniciar o stream
modifier_filter = EasyStream.FilterModifier(:y);
push!(stream_filter, modifier_filter);

EasyStream.listen(stream_filter)

AlterDataModifier

O AlterDataModifier é um Modifier com objetivo em processar e alterar informações do stream. Ele recebe por parâmetro uma função que poderá manipular os dados, recebendo o dado e o evento do stream. Exemplo de utilização:

EasyStream.reset!(stream_filter) # função para reiniciar o stream
modifier_alter_1 = EasyStream.AlterDataModifier((data,event)-> data[:x] .= 5)
push!(stream_filter, modifier_alter_1);

EasyStream.listen(stream_filter)

O dado irá receber um DataFrame e o evento será uma estrutura onde possuirá os argumentos de construção do AbstractStream e do AbstractConnector. Desta forma, é possível alterar até a geração dos dados!