E/S administrada de Dataflow

El conector de E/S administrada es una transformación de Apache Beam que proporciona una API común para crear fuentes y receptores.

Descripción general

Debes crear el conector de E/S administrada con el código de Apache Beam, como cualquier otro conector de E/S. Especificas una fuente o un receptor para crear una instancia y pasar un conjunto de parámetros de configuración. También puedes colocar los parámetros de configuración en un archivo YAML y proporcionar una URL al archivo.

En el backend, Dataflow trata el conector de E/S administrada como un servicio, lo que permite que Dataflow administre las operaciones de entorno de ejecución del conector. Luego, puedes enfocarte en la lógica empresarial de la canalización, en lugar de administrar estos detalles.

Para obtener más información sobre la API de E/S administrada, consulta Managed en la documentación del SDK de Java de Apache Beam.

Apache Iceberg

En el caso de Apache Iceberg, la E/S administrada usa los siguientes parámetros de configuración:

Nombre Tipo de datos Descripción
table string Es el identificador de la tabla de Apache Iceberg. Examplo: "db.table1".
catalog_name string Es el nombre del catálogo. Ejemplo: "local".
catalog_properties mapa Un mapa de propiedades de configuración para el catálogo de Apache Iceberg. Las propiedades obligatorias dependen del catálogo. Para obtener más información, consulta CatalogUtil en la documentación de Apache Iceberg.
config_properties mapa Un conjunto opcional de propiedades de configuración de Hadoop. Para obtener más información, consulta CatalogUtil en la documentación de Apache Iceberg.

Para obtener más información, incluidos ejemplos de código, consulta los siguientes temas:

Apache Kafka

En el caso de Apache Iceberg, la E/S administrada usa los siguientes parámetros de configuración:

Lee y escribe la configuración Tipo de datos Descripción
bootstrap_servers string Obligatorio. . Una lista separada por comas de servidores de arranque de Kafka. Ejemplo: localhost:9092.
topic string Obligatorio. El tema de Kafka desde el que se leerá.
file_descriptor_path string Es la ruta de acceso a un conjunto de descriptores de archivos de búfer de protocolo. Solo se aplica si data_format es "PROTO".
data_format string Es el formato de los mensajes. Valores admitidos: "AVRO", "JSON", "PROTO", "RAW". El valor predeterminado es "RAW", que lee o escribe los bytes sin procesar de la carga útil del mensaje.
message_name string Es el nombre del mensaje del búfer de protocolo. Obligatorio si data_format es "PROTO".
schema string

El esquema de mensajes de Kafka. El tipo de esquema esperado depende del formato de datos:

En el caso de las canalización de lectura, este parámetro se ignora si se configura confluent_schema_registry_url.

Se lee la configuración
auto_offset_reset_config string

Especifica el comportamiento cuando no hay un desplazamiento inicial o cuando el desplazamiento actual ya no existe en el servidor de Kafka. Se admiten los siguientes valores:

  • "earliest": Restablece el desplazamiento al más antiguo.
  • "latest": Restablece el desplazamiento al más reciente.

El valor predeterminado es "latest".

confluent_schema_registry_subject string El asunto de un registro de esquemas de Confluent. Obligatorio si se especifica confluent_schema_registry_url.
confluent_schema_registry_url string Es la URL de un registro de esquemas de Confluent. Si se especifica, se ignora el parámetro schema.
consumer_config_updates mapa Establece parámetros de configuración para el consumidor de Kafka. Para obtener más información, consulta Configuraciones de consumidores en la documentación de Kafka. Puedes usar este parámetro para personalizar el consumidor de Kafka.
max_read_time_seconds int Es el tiempo de lectura máximo, en segundos. Esta opción produce un PCollection limitado y está destinada principalmente a pruebas o a otras situaciones que no son de producción.
Cómo escribir la configuración
producer_config_updates mapa Establece los parámetros de configuración para el productor de Kafka. Para obtener más información, consulta Configuraciones de productores en la documentación de Kafka. Puedes usar este parámetro para personalizar el productor de Kafka.

Para leer mensajes Avro o JSON, debes especificar un esquema de mensaje. Para configurar un esquema directamente, usa el parámetro schema. Para proporcionar el esquema a través de un registro de esquemas de Confluent, configura los parámetros confluent_schema_registry_url y confluent_schema_registry_subject.

Para leer o escribir mensajes de Protocol Buffer, especifica un esquema de mensaje o configura el parámetro file_descriptor_path.