Saltar al contenido principal Saltar al contenido complementario

Cargar segmentos de conjuntos de datos en paralelo

Durante la carga completa, puede acelerar la carga de grandes conjuntos de datos dividiéndolos en segmentos, que se cargarán en paralelo. Las tablas se pueden dividir por rangos de datos, todas las particiones, todas las subparticiones o particiones específicas.

Nota informativaSi utiliza Data Movement gateway, esta función es compatible a partir de la versión 2024.5.35.

Cada segmento del conjunto de datos se carga mediante una subtarea independiente. Por lo tanto, a la hora de decidir cómo dividir un conjunto de datos, siempre debe tener en cuenta la disponibilidad de los recursos de la base de datos y de la red. Dividir una tabla en demasiados segmentos podría afectar al rendimiento de la base de datos y sobrecargar la capacidad de la red. Si elige el método de segmentación Rangos de datos con un conjunto de datos particionado, la mejor práctica consiste en configurar los rangos de forma que cada uno de ellos abarque una o varias particiones enteras. Esto agilizará la recuperación de datos y minimizará el impacto en los recursos de procesamiento de la base de datos.

Fuentes de datos y destinos compatibles

La tarea de datos debe definirse con una combinación de los siguientes conectores de fuente de datos y de destino.

  • IBM DB2 para LUW
  • IBM DB2 para z/OS

    Nota informativa

    La segmentación de tablas por particiones o subparticiones no es compatible con el conector de origen de IBM DB2 para z/OS.

  • Microsoft SQL Server (basado en registros)
  • MySQL
  • Oracle
  • PostgreSQL

    Nota informativa

    La segmentación de tablas por particiones o subparticiones no es compatible con el conector de origen PostgreSQL.

  • SAP (Aplicación)
    Nota informativa

    Las tablas con el punto de conexión de origen SAP (Application) dependen del cliente predeterminado. La columna MANDT se toma automáticamente del conector.

  • SAP HANA (Base de datos)
  • Amazon Redshift
  • Amazon S3
  • Google Cloud BigQuery
  • Google Cloud Storage
  • Microsoft Fabric Data Warehouse
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • Snowflake

Configuración de la carga paralela

Puede dividir una tabla utilizando uno de estos dos métodos: Rangos de datos o Particiones. El método Rangos de datos divide la tabla por rangos de datos, mientras que el método Particiones divide la tabla según las particiones.

Utilizar el método de rangos de datos

Para definir los límites de los segmentos por rango de datos:

  1. En la pestaña Conjuntos de datos , haga clic en el menú El icono Más situado a la derecha del conjunto de datos y seleccione Configuración.

    Se abre el cuadro de diálogo Carga paralela.

  2. Seleccione el método de segmentación Rangos de datos.

  3. Haga clic en Seleccionar columnas.

    Se abre el cuadro de diálogo Columnas de segmentación de la tabla

  4. Para todas las fuentes de datos admitidas, se selecciona automáticamente la columna Índice único. Seleccione qué columnas adicionales con datos desea utilizar para delimitar los rangos y, a continuación, haga clic en Aceptar.

    Nota informativa
    • Se recomienda utilizar columnas que no admitan valores NULL y que no se actualicen durante las operaciones normales de la base de datos fuente (por ejemplo, una columna de clave primaria o una columna de fecha fija). El uso de una columna que se actualiza durante la Carga completa podría provocar duplicados en la base de datos de destino.

    • Se recomienda utilizar columnas fuente indexadas, ya que así se optimiza el rendimiento de la recuperación de datos.

    • Se pueden seleccionar hasta diez columnas

    • Los registros con valores nulos no se replicarán

    • Los siguientes tipos de datos no pueden utilizarse para definir segmentos por rangos: DOUBLE, FLOAT y LOB (BLOB, CLOB, NCLOB)

  5. Haga clic en Añadir rango de datos para añadir un segmento de rango de datos.

    Se abrirá el cuadro de diálogo Añadir rango de datos con las columnas seleccionadas.

  6. Para cada columna, introduzca el intervalo de datos superior del segmento.

    Nota informativa

    Los valores de las columnas DATE deben introducirse en el formato admitido por la fuente. Por ejemplo, para una fuente Oracle, el formato correcto sería:

    • ALTER SESSION SET NLS_DATE_FORMAT:

      'YYYY-MM-DD HH24:MI:SS' (especificar solo YYYY-MM-DD también es válido)

    • ALTER SESSION SET NLS_TIMESTAMP_FORMAT:

      'YYYY-MM-DD HH24:MI:SS.FF9'

    • ALTER SESSION SET NLS_TIMESTAMP_TZ_FORMAT:

      'YYYY-MM-DD HH24:MI:SS.FF9 TZH:TZM'

  7. Pulse Aceptar para guardar los ajustes y cerrar el diálogo.

    Cada una de las columnas seleccionadas aparecerá con su rango especificado.

  8. Repita los pasos 3-6 según sea necesario para añadir columnas y rangos de datos.
  9. Haga clic en Validar para validar que los datos introducidos se corresponden con el tipo de datos de la columna de origen y que todos los segmentos definidos contienen valores.
Nota informativa

Con el método de segmentación Rangos de datos, se replicarán todos los datos de la tabla, aunque no se hayan definido rangos de datos para todas las columnas.

Para editar un rango de datos:

  1. Haga clic en el menú El icono Más al final de la fila y seleccione Editar.
  2. Edite el rango de datos según sea necesario y pulse Aceptar para guardar los cambios.

Para borrar un rango de datos:

  1. Haga clic en el menú El icono Más al final de la fila y seleccione Eliminar.
  2. Cuando se le pida que confirme la eliminación, haga clic en Eliminar.

Ejemplo de uso

Supongamos que se definen los siguientes segmentos:

Ejemplo de tabla de datos
Columna_1 Columna_2 Columna_3

10

30

105

20

20

120

100

12

99

En este caso, se crearán las siguientes cláusulas "WHERE" para cada segmento de carga:

  • Segmento 1:((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105)))
  • Segmento 2:NOT ((COL1 < 10) OR ((COL1 = 10) AND (COL2 < 30)) OR ((COL1 = 10) AND (COL2 = 30) AND (COL3 < 105))) AND ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 20) AND (COL2 = 20) AND (COL3 < 120)))
  • Segmento 3:NOT ((COL1 < 20) OR ((COL1 = 20) AND (COL2 < 20)) OR ((COL1 = 30) AND (COL2 = 20) AND (COL3 < 120))) AND ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))
  • Segmento 4:NOT ((COL1 < 100) OR ((COL1 = 100) AND (COL2 < 12)) OR ((COL1 = 100) AND (COL2 = 12) AND (COL3 < 99)))

Utilizar el método de las particiones

Puede definir los límites de los segmentos por todas las particiones de la tabla, por todas las subparticiones de la tabla (si la fuente de datos admite subparticiones) o por particiones específicas.

Nota informativa
  • Este método sólo puede utilizarse si el conjunto de datos ya está particionado.
  • Si tiene una tarea que existía antes de que se lanzara esta función y aún no ha iniciado la tarea o desea recargar en paralelo una o varias de las tablas utilizando este método, primero deberá actualizar los metadatos, tal y como se describe en Registrar datos que ya están en la plataforma de datos (El proceso de actualización de metadatos descrito en este tema es el mismo para todos los tipos de tarea de datos).

Utilizar todas las particiones

Para definir los límites de los segmentos por todas las particiones o subparticiones de la tabla:

  1. En la pestaña Conjuntos de datos , haga clic en el menú El icono Más situado a la derecha del conjunto de datos y seleccione Configuración.

    Se abre el cuadro de diálogo Carga paralela.

  2. Seleccione el método de segmentación Particiones .

  3. Seleccione uno de los siguientes:

    • Usar todas las particiones principales

    • Usar todas las subparticiones

      Nota informativa

      Esta opción se deshabilitará si la fuente de datos no admite subparticiones.

  4. Haga clic en Aceptar.

Utilizar particiones específicas

Para definir los límites de los segmentos mediante particiones específicas:

  1. En la pestaña Conjuntos de datos , haga clic en el menú El icono Más situado a la derecha del conjunto de datos y seleccione Configuración.

    Se abre el cuadro de diálogo Carga paralela.

  2. Seleccione el método de segmentación Particiones .

  3. Seleccione Especificar particiones.

    Nota informativa

    Si se selecciona Especificar particiones, solo se replicarán las particiones especificadas.

  4. Haga clic en Añadir partición.

    Se abre el diálogo Añadir partición.

  5. Especifique el nombre de una partición o subpartición existente.

    Si va a añadir una subpartición, seleccione la casilla Subpartición .

  6. Haga clic en Aceptar para guardar su configuración.
  7. Repita los pasos 4-6 según sea necesario para añadir particiones o subparticiones.

Para editar una partición:

  1. Haga clic en el menú El icono Más al final de la fila y seleccione Editar.
  2. Edite la información de la partición según sea necesario y pulse Aceptar para guardar los cambios.

Para eliminar una partición:

  1. Haga clic en el menú al final de la fila y seleccione Eliminar.
  2. Cuando se le pida que confirme la eliminación, haga clic en Eliminar.

Ajuste del número de segmentos que pueden cargarse en paralelo

Puede aumentar o disminuir el número de segmentos que se cargarán en paralelo. El valor se hereda del campo Carga completa > Optimización del rendimiento > Número máximo de tablas que cargar en paralelo en la configuración de la tarea de datos. El valor actual se muestra en la cadena "Se pueden cargar hasta <n> segmentos en paralelo" en el cuadro de diálogo Carga en paralelo. Aumentar el número puede mejorar el rendimiento cuando un conjunto de datos se divide en muchos segmentos, pero también supondrá una mayor presión sobre los recursos de la base de datos y la capacidad de la red.

Nota informativaCada segmento se carga utilizando una subtarea específica, de modo que, por ejemplo, si selecciona la opción Utilizar todas las particiones principales y el conjunto de datos fuente tiene 20 particiones principales, al aumentar el valor Número máximo de tablas que cargar en paralelo a 15 se cargarán 15 segmentos (particiones) en paralelo. Cuando las subtareas completen su ejecución, se les asignará la carga de las 5 particiones restantes.

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.