Dataflow 관리형 I/O

관리형 I/O 커넥터는 소스 및 싱크를 만들기 위한 공통 API를 제공하는 Apache Beam 변환입니다.

개요

다른 I/O 커넥터와 마찬가지로 Apache Beam 코드를 사용하여 관리형 I/O 커넥터를 만듭니다. 구성 매개변수 집합을 인스턴스화하고 전달할 소스나 싱크를 지정합니다. 또한 구성 매개변수를 YAML 파일에 넣고 파일의 URL을 제공할 수도 있습니다

백엔드에서 Dataflow는 관리형 I/O 커넥터를 서비스로 취급하므로 Dataflow에서 커넥터의 런타임 작업을 관리할 수 있습니다. 그러면 이러한 세부정보를 관리하는 대신 파이프라인의 비즈니스 로직에 집중할 수 있습니다.

관리형 I/O API에 대한 자세한 내용은 Apache Beam Java SDK 문서의 Managed를 참조하세요.

Apache Iceberg

Apache Iceberg의 경우 관리형 I/O는 다음 구성 파라미터를 사용합니다.

이름 데이터 유형 설명
table 문자열 Apache Iceberg 테이블의 식별자입니다. 예: "db.table1"
catalog_name 문자열 카탈로그의 이름입니다. 예: "local"
catalog_properties 지도 Apache Iceberg 카탈로그의 구성 속성 맵입니다. 필요한 속성은 카탈로그에 따라 달라집니다. 자세한 내용은 Apache Iceberg 문서의 CatalogUtil을 참조하세요.
config_properties 지도 Hadoop 구성 속성의 선택적 집합입니다. 자세한 내용은 Apache Iceberg 문서의 CatalogUtil을 참조하세요.
triggering_frequency_seconds 정수 스트리밍 쓰기 파이프라인의 경우 싱크에서 스냅샷을 생성하려고 시도하는 빈도(초)입니다.

코드 예시를 포함한 자세한 내용은 다음 주제를 참조하세요.

Apache Kafka

Apache Kafka의 경우 관리형 I/O는 다음 구성 매개변수를 사용합니다.

읽기 및 쓰기 구성 데이터 유형 설명
bootstrap_servers 문자열 필수. 쉼표로 구분된 Kafka 부트스트랩 서버 목록입니다. 예: localhost:9092
topic 문자열 필수. 읽어올 Kafka 주제입니다.
file_descriptor_path 문자열 설정된 프로토콜 버퍼 파일 설명자의 경로입니다. data_format"PROTO"인 경우에만 적용됩니다.
data_format 문자열 메시지의 형식입니다. 지원되는 값: "AVRO", "JSON", "PROTO", "RAW". 기본값은 "RAW"이며 메시지 페이로드의 원시 바이트를 읽거나 씁니다.
message_name 문자열 프로토콜 버퍼 메시지의 이름입니다. data_format"PROTO"인 경우에 필요합니다.
schema 문자열

Kafka 메시지 스키마입니다. 예상되는 스키마 유형은 데이터 형식에 따라 달라집니다.

읽기 파이프라인의 경우 confluent_schema_registry_url이 설정되었으면 이 매개변수가 무시됩니다.

읽기 구성
auto_offset_reset_config 문자열

초기 오프셋이 없거나 현재 오프셋이 Kafka 서버에 더 이상 없는 경우의 동작을 지정합니다. 다음과 같은 값이 지원됩니다.

  • "earliest": 오프셋을 가장 빠른 오프셋으로 재설정합니다.
  • "latest": 오프셋을 최신 오프셋으로 재설정합니다.

기본값은 "latest"입니다.

confluent_schema_registry_subject 문자열 Confluent 스키마 레지스트리의 제목입니다. confluent_schema_registry_url이 지정된 경우 필수입니다.
confluent_schema_registry_url 문자열 Confluent 스키마 레지스트리의 URL입니다. 지정하면 schema 매개변수가 무시됩니다.
consumer_config_updates 지도 Kafka 소비자의 구성 매개변수를 설정합니다. 자세한 내용은 Kafka 문서의 소비자 구성을 참조하세요. 이 매개변수를 사용하여 Kafka 소비자를 맞춤설정할 수 있습니다.
max_read_time_seconds int 최대 읽기 시간(초)입니다. 이 옵션은 제한된 PCollection을 생성하며 주로 테스트 또는 기타 비프로덕션 시나리오에 사용됩니다.
쓰기 구성
producer_config_updates 지도 Kafka 프로듀서의 구성 매개변수를 설정합니다. 자세한 내용은 Kafka 문서의 프로듀서 구성을 참조하세요. 이 매개변수를 사용하여 Kafka 프로듀서를 맞춤설정할 수 있습니다.

Avro 또는 JSON 메시지를 읽으려면 메시지 스키마를 지정해야 합니다. 스키마를 직접 설정하려면 schema 매개변수를 사용하세요. Confluent 스키마 레지스트리를 통해 스키마를 제공하려면 confluent_schema_registry_urlconfluent_schema_registry_subject 매개변수를 설정합니다.

프로토콜 버퍼 메시지를 읽거나 쓰려면 메시지 스키마를 지정하거나 file_descriptor_path 매개변수를 설정합니다.