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.
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.
Conectores de fuentes de datos compatibles
- IBM DB2 para LUW
-
IBM DB2 para z/OS
Nota informativaLa 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 informativaLa 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)
Conectores de destino compatibles
- 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:
-
En la pestaña Conjuntos de datos , haga clic en el menú
situado a la derecha del conjunto de datos y seleccione Configuración.
Se abre el cuadro de diálogo Carga paralela.
-
Seleccione el método de segmentación Rangos de datos.
-
Haga clic en Seleccionar columnas.
Se abre el cuadro de diálogo Columnas de segmentación de la tabla
-
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)
-
-
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.
-
Para cada columna, introduzca el intervalo de datos superior del segmento.
Nota informativaLos 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'
-
-
Pulse Aceptar para guardar los ajustes y cerrar el diálogo.
Cada una de las columnas seleccionadas aparecerá con su rango especificado.
- Repita los pasos 3-6 según sea necesario para añadir columnas y rangos de datos.
- 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.
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:
- Haga clic en el menú
al final de la fila y seleccione Editar.
- Edite el rango de datos según sea necesario y pulse Aceptar para guardar los cambios.
Para borrar un rango de datos:
- Haga clic en el menú
al final de la fila y seleccione Eliminar.
- Cuando se le pida que confirme la eliminación, haga clic en Eliminar.
Ejemplo de uso
Supongamos que se definen los siguientes segmentos:
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.
- 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:
-
En la pestaña Conjuntos de datos , haga clic en el menú
situado a la derecha del conjunto de datos y seleccione Configuración.
Se abre el cuadro de diálogo Carga paralela.
-
Seleccione el método de segmentación Particiones .
-
Seleccione uno de los siguientes:
-
Usar todas las particiones principales
-
Usar todas las subparticiones
Nota informativaEsta opción se deshabilitará si la fuente de datos no admite subparticiones.
-
- Haga clic en Aceptar.
Utilizar particiones específicas
Para definir los límites de los segmentos mediante particiones específicas:
-
En la pestaña Conjuntos de datos , haga clic en el menú
situado a la derecha del conjunto de datos y seleccione Configuración.
Se abre el cuadro de diálogo Carga paralela.
-
Seleccione el método de segmentación Particiones .
-
Seleccione Especificar particiones.
Nota informativaSi se selecciona Especificar particiones, solo se replicarán las particiones especificadas.
-
Haga clic en Añadir partición.
Se abre el diálogo Añadir partición.
-
Especifique el nombre de una partición o subpartición existente.
Si va a añadir una subpartición, seleccione la casilla Subpartición .
- Haga clic en Aceptar para guardar su configuración.
- Repita los pasos 4-6 según sea necesario para añadir particiones o subparticiones.
Para editar una partición:
- Haga clic en el menú
al final de la fila y seleccione Editar.
- Edite la información de la partición según sea necesario y pulse Aceptar para guardar los cambios.
Para eliminar una partición:
- Haga clic en el menú
al final de la fila y seleccione Eliminar.
- 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.