Ir para o conteúdo principal

Sustentabilidade na Produção de Alumínio

Reformulando a Rastreabilidade de Lotes com GraphFrames

Sustainability in Aluminum Production

Published: March 21, 2025

Produção industrial6 min de leitura

Summary

  • Valor comercial e desafios típicos do rastreamento de materiais através de uma cadeia operacional
  • Como o GraphFrames representa as relações hierárquicas entre os lotes de entrada e saída em toda a cadeia operacional
  • Como rastrear a linhagem completa de qualquer lote usando algoritmos Pregel

Impulsionando a Produção Sustentável de Alumínio: Como Calcular a Taxa de Recuperação de Material com GraphFrames

A produção sustentável se tornou uma necessidade no mercado de manufatura atual. De acordo com uma pesquisa de 2022 da Associação Nacional de Fabricantes, 79% dos fabricantes têm metas específicas de sustentabilidade. Um líder global na produção de folhas e folhas de alumínio aceitou esse desafio de frente, usando o Databricks para analisar os dados da linha de produção. Esta empresa de fabricação de alumínio visa melhorar a qualidade do produto, otimizar recursos e reduzir o impacto ambiental.

O Desafio: Complexidade na Produção e Monitoramento de Emissões

A produção de alumínio é um processo complexo com muitas etapas envolvidas na transformação de matérias-primas em produtos acabados. Para garantir a sustentabilidade ao longo deste processo, a empresa desenvolveu sistemas de relatórios que rastreiam o impacto ambiental do início ao fim. Uma das principais métricas nesse esforço é a taxa de recuperação - a porcentagem de alumínio reciclado com sucesso de materiais descartados para novos produtos. Para medir isso com precisão, a empresa deve primeiro identificar cada etapa necessária na criação do produto final (por exemplo, "rastreamento de lote") e depois calcular o desperdício de material associado a cada etapa.

No entanto, os dados são massivos. Os sistemas de produção registraram mais de 1 bilhão de linhas com até 40 níveis de lotes de produção vinculados. Os métodos tradicionais de DataFrame não eram bem adequados para analisar essas relações a partir dos dados. A empresa considerou o uso de UDFs do Pandas, mas esses UDFs mostraram limitações de desempenho à medida que o tamanho e a complexidade dos dados aumentavam. Identificar relações profundamente aninhadas em um conjunto de dados tão grande exigiu a modelagem das relações como um gráfico. Uma solução construída com GraphFrames—um framework de processamento de gráficos distribuídos incluído no Databricks ML Runtime e otimizado com Databricks’ Photon Engine—realizou o rastreamento de lote de ponta a ponta com bom desempenho e escalabilidade.

Trabalhando com GraphFrames

Sistemas de manufatura podem refinar uma única matéria-prima em centenas de produtos finais com centenas de etapas intermediárias. Embora cada subprocesso possa emitir informações sobre seus próprios materiais de entrada e saída, a medição de indicadores-chave de sustentabilidade, como a taxa de recuperação, requer a análise da sequência de ponta a ponta. O objetivo é conectar um lote de saída com um lote de origem através de uma série de IDs de lotes intermediários. Uma vez que o rastreamento completo está disponível, podemos determinar o material perdido em cada etapa.

Dados do processo de fabricação com números de lote de entrada e saída
Manufacturing process data with input and output batch numbers

Rastrear lotes de produção armazenados como linhas em um DataFrame—para calcular o total de material perdido na produção de um produto final, por exemplo—pode ser difícil. Embora os DataFrames sejam úteis para muitas consultas analíticas em conjuntos de objetos de negócios, eles não possuem funcionalidade para modelar e analisar hierarquias complexas de objetos. GraphFrames são uma estrutura de dados útil para lidar com grandes hierarquias de objetos. Eles modelam hierarquias como grafos com:

  1. Vértices representando os objetos de negócios (por exemplo, Lote A de um processo de fabricação)
  2. Bordas representando as relações de paridade entre os objetos (por exemplo, O Lote A é a fonte para o Lote B)

A biblioteca GraphFrames possui muitas ferramentas integradas para processar dados de grafos. Uma classe de algoritmos, Pregel, envia informações ao longo das arestas do grafo para calcular resultados. Para o rastreamento em lote, usamos o Pregel para enviar informações sobre as etapas de produção anteriores (por exemplo, o número do lote de saída) ao longo do gráfico, gerando uma lista completa de todos os lotes de material a montante para cada produto final.

Entendendo Pregel

Pregel é uma estrutura que permite aos usuários construir algoritmos personalizados de passagem de mensagens paralelizadas adequados aos seus problemas de negócios únicos. Cada vértice é inicializado com um valor padrão. Os resultados são calculados ao longo de iterações chamadas superpassos. Em cada superpasso, os vértices do gráfico podem:

  1. Envie uma mensagem para seus vizinhos
  2. Mensagens agregadas recebidas de seus vizinhos
  3. Processe as mensagens e atualize seu estado interno

Um superpasso Pregel
A Pregel superstep

Funções definidas pelo usuário (UDFs) controlam como as mensagens são passadas e usadas para atualizar o estado de um vértice. Essa flexibilidade permite que os usuários implementem algoritmos Pregel para uma variedade de casos de uso. Para rastrear lotes em nosso processo de fabricação, enviamos o número do lote de entrada de um vértice para outro, atualizando a profundidade de cada vértice e os números do lote de origem quando uma mensagem era recebida.

Definindo Funções para Rastreamento de Lotes

Para implementar o rastreamento de lote com Pregel, queríamos enviar números de lote ao longo do gráfico. Começamos definindo uma estrutura de mensagem—nossa incluía a profundidade do nó, o número do lote e quaisquer números de lote anteriores (também conhecido como "rastreamento"). Com nosso esquema de mensagem definido, criamos um UDF para garantir que as mensagens fossem enviadas de lote pai para lote filho com base na profundidade de cada vértice.

Definindo um esquema de mensagem e uma função de passagem de mensagem
Defining a message schema and a message-passing function

Como os sistemas de manufatura podem envolver várias entradas, precisávamos de uma maneira de lidar com mensagens de vários vértices a montante. Criamos uma função para coletar uma única lista de números de lote recebidos de cada linha de produção a montante.

Agregando mensagens de vértices a montante
Aggregating messages from upstream vertices

Finalmente, criamos uma função para atualizar cada vértice com os números de lote agregados.

Atualizando o estado de cada vértice com os resultados
Updating each vertex’s state with the results

Pré-Processamento dos Dados

Nosso primeiro passo foi identificar os lotes de origem em nosso conjunto de dados. Criamos um GraphFrame a partir de nossos dados de lote e usamos a propriedade inDegrees para determinar o número de lotes de entrada para cada lote de saída.

Pré-processamento de dados para obter o número de lotes de entrada
Pre-processing data to get the number of input batches

Depois de encontrarmos os lotes de origem, conseguimos construir um algoritmo Pregel para passar o número do lote ao longo de cada aresta, da entrada para a saída até que a linhagem completa fosse rastreada para cada lote.

Executando o Algoritmo Pregel

A imagem abaixo mostra as chamadas do framework Pregel para executar o algoritmo e rastrear a linhagem.

Usando o framework Pregel do GraphFrames
Using the GraphFrames Pregel framework

GraphFrames acelerou a travessia hierárquica em 24x (de 4 horas para cerca de 10 minutos) para 1 milhão de lotes vs. Pandas UDFs rodando no mesmo cluster. Enquanto as Pandas UDFs só poderiam ser escaladas aumentando o tamanho do trabalhador, os testes mostraram que os GraphFrames escalaram horizontalmente quando os trabalhadores foram adicionados ao cluster.

Resultados do rastreamento em lote
Batch tracing results

Conclusão

O uso de GraphFrames no Databricks proporcionou a este fabricante uma maior visibilidade em seu processo de produção. Com relatórios desenvolvidos a partir de dados de rastreamento em lote, gerentes de operações podem identificar defeitos precocemente, reduzir o desperdício e entregar uma qualidade de produto mais consistente. Rastrear resíduos e emissões de forma mais precisa ajudará a empresa a minimizar seu impacto ambiental, garantir a conformidade com regulamentos cada vez mais rigorosos e se alinhar melhor com os valores de seus clientes.

Adotar soluções baseadas em dados ajudou este fabricante a encontrar maneiras mais eficientes e sustentáveis de produzir bens. GraphFrames oferece uma funcionalidade de gráfico nativa do Spark que pode ser usada por muitos fabricantes para entender seus processos de produção em escala.

Interessado em impulsionar a sustentabilidade em seu negócio? Confira nosso acelerador de soluções de Análise de Desempenho ESG para começar!

 

(This blog post has been translated using AI-powered tools) Original Post

Nunca perca uma postagem da Databricks

Inscreva-se nas categorias de seu interesse e receba as últimas postagens na sua caixa de entrada