O processamento de dados no Dataflow pode ser carregado em paralelo. Grande parte desse paralelismo é processado automaticamente pelo Dataflow. Os conectores de E/S ficam no limite entre o pipeline e outras partes da arquitetura, como armazenamento de arquivos, bancos de dados e sistemas de mensagens. Assim, os conectores de E/S geralmente têm considerações específicas para alcançar o paralelismo.
Neste documento, descrevemos algumas práticas recomendadas gerais para usar conectores de E/S no Dataflow.
Leia a documentação do Javadoc, Pydoc ou Go para os conectores no pipeline. Para mais informações, confira Conectores de E/S na documentação do Apache Beam.
Use a versão mais recente do SDK do Apache Beam. Os conectores de E/S são continuamente aprimorados, com adição de recursos e correção de problemas conhecidos.
Ao desenvolver um pipeline, é importante equilibrar o paralelismo do job. Se um job tiver pouco paralelismo, ele pode ficar lento e os dados podem se acumular na origem. No entanto, o excesso de paralelismo pode sobrecarregar o coletor com muitas solicitações.
Não dependa da ordem dos elementos. Em geral, o Dataflow não garante a ordem dos elementos em uma coleção.
Se o seu SKD não tiver um conector de E/S disponível, use o framework entre linguagens para usar um conector de E/S de outro SDK. Além disso, os conectores nem sempre têm paridade de recursos entre SDKs. Se um conector de outro SDK fornecer um recurso necessário, você poderá usá-lo como uma transformação entre linguagens.
Em geral, criar conectores de E/S personalizados é um desafio. Use um conector existente sempre que possível. Se você precisar implementar um conector de E/S personalizado, confira Como desenvolver um novo conector de E/S.
Se um pipeline falhar, verifique se há erros registrados pelos conectores de E/S. Confira Resolver erros do Dataflow.
Os tópicos a seguir listam as práticas recomendadas para conectores de E/S individuais:
Conector de E/S | Ler | Gravar |
---|---|---|
O BigQuery | Ler pelo BigQuery | gravar no BigQuery |
Bigtable | Ler do Bigtable | Gravar para o Bigtable |
Cloud Storage | Ler do Cloud Storage | Gravar no Cloud Storage |
A seguir
- Leia a documentação do Apache Beam para saber mais sobre conectores de E/S.