Apache Beam I/O 커넥터 권장사항

Dataflow의 데이터 처리에서는 동시 로드가 많이 발생할 수 있습니다. 이러한 대부분의 동시 로드는 Dataflow에서 자동으로 처리됩니다. I/O 커넥터는 파이프라인과 파일 스토리지, 데이터베이스, 메시징 시스템 등 아키텍처의 다른 부분 사이의 경계에 위치합니다. 따라서 I/O 커넥터에는 동시 로드를 위한 특정 고려사항이 있는 경우가 많습니다.

일반 권장사항

다음 목록에서는 Dataflow에서 I/O 커넥터를 사용할 경우의 일반적인 권장사항을 설명합니다.

  • 파이프라인의 커넥터는 Javadoc, Pydoc, Go 문서를 읽어보세요. 자세한 내용은 Apache Beam 문서의 I/O 커넥터를 참조하세요.

  • Apache Beam SDK의 최신 버전을 사용하세요. 기능을 추가하고 알려진 문제를 해결하는 등 I/O 커넥터가 계속해서 개선되고 있습니다.

  • 파이프라인을 개발할 때 작업의 동시 로드를 분산하는 것이 중요합니다. 작업에 동시 로드가 너무 적으면 속도가 느려지고 데이터가 소스에 빌드될 수 있습니다. 그러나 동시 로드가 과도하면 너무 많은 요청으로 인해 싱크에 부담을 줄 수 있습니다.

  • 요소의 순서에 의존하지 마세요. 일반적으로 Dataflow는 컬렉션에서 요소 순서를 보장하지 않습니다.

  • 선택한 SDK에서 I/O 커넥터를 사용할 수 없으면 교차 언어 프레임워크를 사용하여 다른 SDK의 I/O 커넥터를 사용하는 것이 좋습니다. 또한 커넥터는 SDK 간에 항상 동일한 기능을 유지하지 않습니다. 다른 SDK의 커넥터가 필요한 기능을 제공하는 경우 교차 언어 변환으로 이를 사용할 수 있습니다.

  • 일반적으로 커스텀 I/O 커넥터를 작성하는 것은 쉽지 않습니다. 가능하면 기존 커넥터를 사용하세요. 커스텀 I/O 커넥터를 구현해야 하면 새 I/O 커넥터 개발을 참조하세요.

  • 파이프라인이 실패하면 I/O 커넥터에서 로깅한 오류가 있는지 확인합니다. Dataflow 오류 문제 해결을 참조하세요.

  • Dataflow에서 커넥터로 쓰기를 수행할 경우에는 ErrorHandler를 사용하여 실패한 쓰기나 잘못된 형식의 읽기를 처리하는 것이 좋습니다. 이러한 유형의 오류 처리는 Apache Beam 버전 2.55.0 이상의 Java I/O(BigQueryIO, BigtableIO, PubSubIO, KafkaIO, FileIO, TextIO, AvroIO)에서 지원됩니다.

개별 I/O 커넥터 권장사항

다음 주제에는 개별 I/O 커넥터에 대한 권장사항이 나와 있습니다.

Google에서 지원하는 I/O 커넥터

다음 표에는 Dataflow에서 지원하는 Apache Beam I/O 커넥터가 나와 있습니다. Apache Beam 커뮤니티에서 개발하고 다른 실행기에서 지원하는 커넥터를 포함하여 Apache Beam I/O 커넥터의 전체 목록은 Apache Beam 문서에서 I/O 커넥터를 참조하세요.

다음 단계