관리형 I/O는 Apache Kafka에 읽기 및 쓰기를 지원합니다.
요구사항
Java용 Apache Beam SDK 버전 2.58.0 이상이 필요합니다.
구성
관리형 I/O는 Apache Kafka에 다음 구성 매개변수를 사용합니다.
읽기 및 쓰기 구성 | 데이터 유형 | 설명 |
---|---|---|
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 메시지 스키마입니다. 예상되는 스키마 유형은 데이터 형식에 따라 달라집니다.
읽기 파이프라인의 경우 |
읽기 구성 | 데이터 유형 | 설명 |
auto_offset_reset_config |
문자열 | 초기 오프셋이 없거나 현재 오프셋이 Kafka 서버에 더 이상 없는 경우의 동작을 지정합니다. 다음과 같은 값이 지원됩니다.
기본값은 |
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_url
및 confluent_schema_registry_subject
매개변수를 설정합니다.
프로토콜 버퍼 메시지를 읽거나 쓰려면 메시지 스키마를 지정하거나 file_descriptor_path
매개변수를 설정합니다.
자세한 내용과 코드 예시는 다음 주제를 참고하세요.