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!