Autor: Zen e a Arte da Programação de Computadores
1. Introdução
O Apache Beam é uma estrutura de computação distribuída de código aberto que facilita o desenvolvimento, o teste e a implantação de pipelines de processamento de dados de streaming em tempo real com capacidade ilimitada. O projeto foi lançado como um projeto de incubadora em janeiro de 2016 e é um projeto de nível superior do Apache desde setembro de 2017. O Beam permite que os desenvolvedores criem, executem e mantenham facilmente pipelines de processamento de dados distribuídos, fornece um modelo de programação unificado e escalabilidade e pode ajudar os analistas a descobrir padrões e associações ocultos de grandes quantidades de dados. Hoje, o Beam é amplamente utilizado em todo o mundo, incluindo empresas de tecnologia, departamentos governamentais, bancos, varejistas etc., e está expandindo ativamente o ecossistema Beam. Este artigo descreverá o método de redução de dimensionalidade do Beam para processar dados em grande escala por meio de exemplos e aguardar a direção do desenvolvimento futuro.
2. Explicação dos conceitos e termos básicos
Apache Beam
O Apache Beam é uma estrutura de computação distribuída de código aberto que fornece um modelo de programação leve para criar pipelines de processamento de dados, permitindo que os desenvolvedores implementem rapidamente o processamento de dados de streaming em tempo real sem conhecer os detalhes da estrutura de computação subjacente. O Beam fornece três componentes principais:
- API de pipeline: fornece uma interface para definir e executar pipelines de processamento de dados distribuídos;
- Runner: Responsável por executar o Pipeline otimizando a utilização de recursos, como plataformas de computação em nuvem ou clusters de computadores locais;
- SDKs: usados para oferecer suporte a vários idiomas, incluindo Java, Python e Go.
Conceitos e Terminologia
dados de streaming
Streaming Data refere-se a dados gerados ao longo do tempo, como fluxos de bytes na transmissão de rede, registros de transações no mercado de ações, logs de máquina, etc. Sua característica é processar os dados imediatamente após sua coleta, sem esperar que todo o conjunto de dados chegue como um todo.Computação distribuída
Computação distribuída