Eu escrevo algumas coisas sobre dados no meu blog – muito mais para eu mesmo estudar e organizar um assunto – que por qualquer outro motivo: https://blog.gdarruda.me/2023/03/04/engenharia-dados.html
Eu só postei no LinkedIn, porque é a única rede social que imagino ter público para isso. Vocês acham que tem mais lugar que faz sentido compartilhar esse tipo de conteúdo em português?
Apesar da experiência “tipo Hacker News” do Órbita, não parece muito o escopo daqui.
Acho que no Mastodon teria muita gente interessada, e como lá não tem algoritmo o engajamento é muito maior que no LinkedIn
Eu tenho interesse nesse tipo de conteúdo. Vou dar uma lida depois
Acho que o TabNews também é um lugar interessante para esse tipo de contéudo
Eu tinha visto quando lançou, esqueci da existência. Acabei de postar lá, vamos ver interessa alguém.
Valeu pela dica!
O Órbita é um espaço “verde“ ainda, não tem uma cultura definida, então eu recomendo postar aqui também. Temos desenvolvedores/gente da programação na audiência, então talvez suscite conversas em torno de tópicos mais complexos. (E, se essa hipótese for invalidada, o tópico “cai” da página inicial e segue o jogo, sem qualquer prejuízo.)
Alterei o tipo de post, de link para conversa, e joguei o link no texto, ok? Achei que era mais um debate “cabe esse tipo de post no Órbita?” do que sobre o tema do post em si. (Aliás, se quiser abrir outro tópico/post com o link, manda ver.)
Eu sei algo de Python mas quase nada de data science, e admito que fiquei um pouco confuso com o problema em si
> enviar predições de machine learning, armazenadas em uma tabela, para uma fila no formato JSON.
A otimização que tu buscava era na velocidade pra iterar sobre as linhas de um .csv, ir formatando cada uma num arquivo json e enviar pra uma fila(possivelmente um post numa api)?
>Mas nesse processo, vamos usar o Spark como framework de programação distribuída, emulando o cenário real em que esse dado estará armazenado em um storage e será processado por um cluster de máquinas.
Daqui pra frente a situação parece ter mudado pra várias máquinas lendo o mesmo arquivo csv, e cada máquina vai processar uma parte das linhas.
(O que vai ser feito com essas linhas quando chegarem na fila?)
É um assunto interessante, mas eu como leitor casual tiro mais proveito de uma explicação gradual das tecnologias usadas.
Se isso melhoraria ou não seu post depende do tipo de leitor e discussão que você quer gerar em torno dele (galera mais especializada vs newcomers interessados no assunto).
Claro que eu posso estar falando besteira, são apenas meus 2 cents.
Sim, a ideia é essa mesmo. Para enviar em uma fila, normalmente se usa uma biblioteca para isso, mas conceitualmente seria parecido com a ideia de chamar um requisição POST passando de payload o conteúdo em JSON.
A ideia é enviar essas predições para outro microsserviço, que irá consumir dessa fila e armazenar no banco de dados local, para ser acessado com a latência adequada.
O motivo de usar uma fila – ao invés de salvar um arquivo ou chamar uma API deles – é para que a gente possa ir mandando predições durante o dia, enquanto eles consomem a uma taxa fixa (X mensagens por segundo). Dessa forma, a gente consegue manter um dinâmica de consumo NRT (Near Real Time), sem o risco de derrubar a aplicação ao enviar milhões de requisições em poucos segundos.
A ideia de explicar o problema de forma simplista tem dois motivos: primeiro que é comum os requisitos serem simples, como a maioria dos requisitos de engenharia de dados. Além disso, os motivos detalhados dessa arquitetura dependeria de muito contexto para ser explicado, o que não vem ao caso para a discussão e nem acho muito legal porque são muitos detalhes da empresa
Valeu pelo feedback!
A ideia da discussão é mais para quem já mexe com Spark e engenharia de dados – na verdade, essas são as discussões que tivemos durante o projeto – aí quis aproveitar para ilustrar como algo simples pode ser complicado quando há demandas de performance altas.
Quando eu estou aprendendo um assunto novo, faço alguns posts mais introdutórios, mas esse em específico seria para quem já tem alguma experiência com o assunto.