Apache Beam: como lidar com a redução de dimensionalidade para conjuntos de dados de grande escala

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

Acho que você gosta

Origin blog.csdn.net/universsky2015/article/details/131908145
Recomendado
Clasificación