¨¦ um modelo de programa??o unificado de c¨®digo aberto para definir e executar, em paralelo, pipelines para processamento em lote e streaming de dados. O modelo Beam ¨¦ baseado no , que permite expressar l¨®gica de maneira elegante, para que possamos alternar facilmente entre lote, lote com janelas ou streaming. O ecossistema de processamento de big data evoluiu muito, o que pode tornar dif¨ªcil escolher o mecanismo correto para processamento de dados. Uma das principais raz?es para escolher o Beam ¨¦ que ele permite altern?ncia entre diferentes runners ¨C h¨¢ alguns meses, o foi adicionado a outros runners j¨¢ suportados, que incluem , e Google Cloud Dataflow. Runners diferentes t¨ºm capacidades diferentes e fornecer uma API port¨¢til ¨¦ uma tarefa dif¨ªcil. O Beam tenta encontrar um equil¨ªbrio delicado ao colocar as inova??es desses runners dentro do modelo Beam e tamb¨¦m trabalhar com a comunidade para influenciar o roadmap desses runners. O Beam tem SDKs em m¨²ltiplas linguagens, incluindo Java, Python e Golang. Tamb¨¦m tivemos sucesso usando , que fornece um empacotador Scala em torno do Beam.
is an open source unified programming model for defining and executing both batch and streaming data-parallel processing pipelines. Beam provides a portable API layer for describing these pipelines independent of execution engines (or runners) such as , or Google Cloud Dataflow. Different runners have different capabilities and providing a portable API is a difficult task. Beam tries to strike a delicate balance by actively pulling innovations from these runners into the Beam model and also working with the community to influence the roadmap of these runners. Beam has a rich set of that cover most of the data pipeline needs and it also provides a mechanism to implement for specific use cases. The portable API and extensible IO transformations make a compelling case for assessing Apache Beam for data pipeline needs.

