E/S administrada de Dataflow para bases de datos

Dataflow admite la lectura y escritura en bases de datos a través de la conectividad de bases de datos de Java (JDBC). Dataflow usa el conector JdbcIO de Apache Beam para conectarse a fuentes y receptores de datos JDBC. La E/S administrada para bases de datos admite controladores JDBC estándar para varias bases de datos, incluidas PostgreSQL, MySQL y Microsoft SQL Server.

Requisitos

Los siguientes SDKs admiten E/S administradas para bases de datos:

  • SDK de Apache Beam para Java, versión 2.69.0 o posterior
  • SDK de Apache Beam para Python, versión 2.69.0 o posterior

Configuración

La E/S administrada para bases de datos admite los siguientes parámetros de configuración:

POSTGRES Leer

Configuración Tipo Descripción
jdbc_url str Es la URL de conexión para la fuente de JDBC.
connection_properties str Se usa para establecer las propiedades de conexión que se pasan al controlador JDBC y que aún no se definieron como parámetros independientes (p.ej., el nombre de usuario y la contraseña se pueden establecer con los parámetros anteriores según corresponda). El formato de la cadena debe ser "key1=value1;key2=value2;".
fetch_size int32 Este método se usa para anular el tamaño de los datos que se recuperarán y cargarán en la memoria en cada llamada a la base de datos. SOLO se debe usar si el valor predeterminado arroja errores de memoria.
ubicación str Es el nombre de la tabla desde la que se leerá.
num_partitions int32 Cantidad de particiones
output_parallelization boolean Indica si se debe reorganizar la PCollection resultante para que los resultados se distribuyan a todos los trabajadores.
partition_column str Nombre de una columna de tipo numérico que se usará para la partición.
contraseña str Contraseña para la fuente de JDBC.
read_query str Es la consulta en SQL que se usa para consultar la fuente de JDBC.
nombre de usuario str Nombre de usuario de la fuente de JDBC.

POSTGRES Escribir

Configuración Tipo Descripción
jdbc_url str Es la URL de conexión del receptor de JDBC.
Autosharding boolean Si el valor es verdadero, habilita el uso de una cantidad de fragmentos determinada de forma dinámica para la escritura.
batch_size int64 No disponible
connection_properties str Se usa para establecer las propiedades de conexión que se pasan al controlador JDBC y que aún no se definieron como parámetros independientes (p.ej., el nombre de usuario y la contraseña se pueden establecer con los parámetros anteriores según corresponda). El formato de la cadena debe ser "key1=value1;key2=value2;".
ubicación str Nombre de la tabla en la que se escribirá.
contraseña str Contraseña para la fuente de JDBC.
nombre de usuario str Nombre de usuario de la fuente de JDBC.
write_statement str Es la consulta en SQL que se usa para insertar registros en el receptor de JDBC.

MYSQL Leer

Configuración Tipo Descripción
jdbc_url str Es la URL de conexión para la fuente de JDBC.
connection_init_sql list[str] Establece las instrucciones SQL de inicialización de la conexión que usa el controlador. Solo MySQL y MariaDB admiten esta opción.
connection_properties str Se usa para establecer las propiedades de conexión que se pasan al controlador JDBC y que aún no se definieron como parámetros independientes (p.ej., el nombre de usuario y la contraseña se pueden establecer con los parámetros anteriores según corresponda). El formato de la cadena debe ser "key1=value1;key2=value2;".
disable_auto_commit boolean Indica si se debe inhabilitar la confirmación automática en la lectura. Si no se proporciona, el valor predeterminado es verdadero. La necesidad de esta configuración varía según la plataforma de la base de datos. Informix requiere que se establezca en falso, mientras que Postgres requiere que se establezca en verdadero.
fetch_size int32 Este método se usa para anular el tamaño de los datos que se recuperarán y cargarán en la memoria en cada llamada a la base de datos. SOLO se debe usar si el valor predeterminado arroja errores de memoria.
ubicación str Es el nombre de la tabla desde la que se leerá.
num_partitions int32 Cantidad de particiones
output_parallelization boolean Indica si se debe reorganizar la PCollection resultante para que los resultados se distribuyan a todos los trabajadores.
partition_column str Nombre de una columna de tipo numérico que se usará para la partición.
contraseña str Contraseña para la fuente de JDBC.
read_query str Es la consulta en SQL que se usa para consultar la fuente de JDBC.
nombre de usuario str Nombre de usuario de la fuente de JDBC.

MYSQL Escribir

Configuración Tipo Descripción
jdbc_url str Es la URL de conexión del receptor de JDBC.
Autosharding boolean Si el valor es verdadero, habilita el uso de una cantidad de fragmentos determinada de forma dinámica para la escritura.
batch_size int64 No disponible
connection_init_sql list[str] Establece las instrucciones SQL de inicialización de la conexión que usa el controlador. Solo MySQL y MariaDB admiten esta opción.
connection_properties str Se usa para establecer las propiedades de conexión que se pasan al controlador JDBC y que aún no se definieron como parámetros independientes (p.ej., el nombre de usuario y la contraseña se pueden establecer con los parámetros anteriores según corresponda). El formato de la cadena debe ser "key1=value1;key2=value2;".
ubicación str Nombre de la tabla en la que se escribirá.
contraseña str Contraseña para la fuente de JDBC.
nombre de usuario str Nombre de usuario de la fuente de JDBC.
write_statement str Es la consulta en SQL que se usa para insertar registros en el receptor de JDBC.

SQLSERVER Leer

Configuración Tipo Descripción
jdbc_url str Es la URL de conexión para la fuente de JDBC.
connection_properties str Se usa para establecer las propiedades de conexión que se pasan al controlador JDBC y que aún no se definieron como parámetros independientes (p.ej., el nombre de usuario y la contraseña se pueden establecer con los parámetros anteriores según corresponda). El formato de la cadena debe ser "key1=value1;key2=value2;".
disable_auto_commit boolean Indica si se debe inhabilitar la confirmación automática en la lectura. Si no se proporciona, el valor predeterminado es verdadero. La necesidad de esta configuración varía según la plataforma de la base de datos. Informix requiere que se establezca en falso, mientras que Postgres requiere que se establezca en verdadero.
fetch_size int32 Este método se usa para anular el tamaño de los datos que se recuperarán y cargarán en la memoria en cada llamada a la base de datos. SOLO se debe usar si el valor predeterminado arroja errores de memoria.
ubicación str Es el nombre de la tabla desde la que se leerá.
num_partitions int32 Cantidad de particiones
output_parallelization boolean Indica si se debe reorganizar la PCollection resultante para que los resultados se distribuyan a todos los trabajadores.
partition_column str Nombre de una columna de tipo numérico que se usará para la partición.
contraseña str Contraseña para la fuente de JDBC.
read_query str Es la consulta en SQL que se usa para consultar la fuente de JDBC.
nombre de usuario str Nombre de usuario de la fuente de JDBC.

SQLSERVER Escribir

Configuración Tipo Descripción
jdbc_url str Es la URL de conexión del receptor de JDBC.
Autosharding boolean Si el valor es verdadero, habilita el uso de una cantidad de fragmentos determinada de forma dinámica para la escritura.
batch_size int64 No disponible
connection_properties str Se usa para establecer las propiedades de conexión que se pasan al controlador JDBC y que aún no se definieron como parámetros independientes (p.ej., el nombre de usuario y la contraseña se pueden establecer con los parámetros anteriores según corresponda). El formato de la cadena debe ser "key1=value1;key2=value2;".
ubicación str Nombre de la tabla en la que se escribirá.
contraseña str Contraseña para la fuente de JDBC.
nombre de usuario str Nombre de usuario de la fuente de JDBC.
write_statement str Es la consulta en SQL que se usa para insertar registros en el receptor de JDBC.

¿Qué sigue?

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