Utilice DataStage® en la modalidad de ejecución Extraer, Cargar y Transformar (ELT) para ejecutar de forma más eficiente consultas SQL en bases de datos de destino.
¿Qué es el proceso ELT?
El proceso primario que utiliza DataStage es Extraer, Transformar y Cargar (ETL), en el que los datos se leen en la memoria, se procesan y, a continuación, se graban en un destino. En DataStage, todos los trabajos se ejecutan en modo ETL por defecto.
El proceso Extracción, carga y transformación (ELT) transfiere datos de un origen a una base de datos de destino y, a continuación, prepara la información en la propia base de datos. En determinadas situaciones, es conveniente utilizar el proceso ELT para transformar los datos en la base de datos de destino. Un ejemplo puede ser cuando necesita transformar conjuntos de datos grandes que ya están en orígenes o destinos de datos específicos.
¿Cuál es el modo de ejecución ELT en DataStage?
Puede configurar
DataStage para ejecutar flujos en modalidad ELT. Cuando los flujos se ejecutan en modalidad ELT,
DataStage analiza los elementos del flujo, como etapas y conectores, y determina si el flujo se puede ejecutar en modalidad ELT. La lista siguiente describe las posibles acciones cuando la modalidad de ejecución ELT está habilitada.
- Sin modalidad ELT
- Cuando el análisis determina que el flujo de DataStage no se puede convertir a SQL, se utiliza la modalidad ETL y DataStage compila el flujo con el motor de tiempo de ejecución PX.
- Modalidad de ALT
- Cuando el análisis determina que el flujo de DataStage se puede convertir a SQL, se utiliza la modalidad ELT y DataStage compila el flujo a SQL.
- Modo ETL y ELT mixto
- Cuando el análisis determina que el flujo de DataStage solo se puede convertir parcialmente a SQL, se utilizan las modalidades ETL y ELT según sea necesario.
Disponibilidad
La modalidad de ejecución de ALT está disponible en DataStage Enterprise y DataStage Enterprise Plus.
Conectores soportados
Los conectores siguientes están soportados como orígenes y destinos en modalidad de ejecución ELT:
- Amazon RDS for PostgreSQL
- Amazon Redshift
- Google BigQuery
- IBM Cloud® Databases for PostgreSQL
- IBM Db2®
- IBM Db2 para DataStage
- IBM Db2 on Cloud
- IBM®
Db2 Warehouse
- Oracle
- PostgreSQL
- Snowflake
- Teradata
- Base de datos Teradata para DataStage
- watsonx.data
La tabla siguiente muestra qué conectores están soportados en modalidad de ejecución ELT o ELT y ETL mixtos, y las limitaciones que se aplican. Para los conectores listados como en ejecución en modalidad mixta, se da soporte a un subconjunto de propiedades para ELT. Si una propiedad no da soporte a ELT, la compilación vuelve a ETL. Consulte el registro en la consola del lienzo de
DataStage para obtener información sobre qué componentes se han podido compilar y ejecutar.
Tabla 1. Conectores con limitaciones en modalidad de ejecución ELT o modalidad ELT y ETL mixta
Conector |
Modalidad |
Limitaciones |
Amazon Redshift |
Mixto |
- Muestreo
- El tipo de muestreo aleatorio no está soportado
- El porcentaje de muestreo no está soportado
- La semilla de muestreo no está soportada
- Sentencias SQL Before/After
- Antes (nodo) y después (nodo) no están soportados
- Modalidad de grabación
- La carga no está soportada
- La sentencia de actualización no está soportada
- Modalidad de lectura
- La sentencia Select no está soportada
|
Google BigQuery |
elt |
- Solo da soporte a un método de autenticación: Clave de cuenta (fragmento de código JSON completo)
- Los flujos complejos pueden encontrarse en límites de vista anidados cuando la política de materialización se establece en Enlazar como vista
- Algunas funciones de transformación paralela no son compatibles. Véanse las limitaciones de la etapa Transformador
|
IBM Db2 |
elt |
- Los trabajos con volúmenes de datos grandes pueden fallar con el error
SQL0964C The transaction log for the
database is full. Para resolverlo, un administrador de base de datos puede aumentar el tamaño del registro de transacciones.
- Las funciones de conversión de datos en SQL generan una excepción cuando se proporciona una fecha no válida
- Algunas funciones de transformación paralela no son compatibles. Véanse las limitaciones de la etapa Transformador
|
IBM Db2 optimizado |
elt |
- El nombre de esquema predeterminado no está soportado
- Cuando se especifica un nombre de tabla, el nombre de esquema debe incluirse con el formato
SchemaName.TableName
|
Oracle |
elt |
- Algunas funciones de transformación paralela no son compatibles. Véanse las limitaciones de la etapa Transformador
|
Etapas soportadas
La tabla siguiente muestra qué etapas están soportadas en la modalidad de ejecución ELT o en la combinación de ELT y ETL, y las limitaciones que se aplican. Para las etapas listadas como que se ejecutan en modalidad mixta, se da soporte a un subconjunto de propiedades para ELT. Si una propiedad no da soporte a ELT, la compilación vuelve a ETL. Consulte el registro en la consola del lienzo de
DataStage para obtener información sobre qué componentes se han podido compilar y ejecutar.
Tabla 2. Etapas con limitaciones en modalidad de ejecución ELT o modalidad ELT y ETL mixta
Etapa |
Modalidad |
Limitaciones |
Agregador |
Mixto |
- Tipo de agregación
- El recálculo no está soportado
- Tipo de cálculo
- El resumen no está soportado
- El entorno local de soporte multilingüístico y las propiedades avanzadas se ignoran
- Pueden producirse ligeras diferencias en el componente de fracción de los números decimales entre ETL y modos mixtos debido al manejo de errores de redondeo
|
Copiar |
elt |
- El entorno local de soporte multilingüístico y las propiedades avanzadas se ignoran
|
Filtro |
Mixto |
- Los predicados (cláusula where) no están soportados
- Los parámetros de trabajo (cláusula where) no están soportados
- Salida de filas una sola vez
- Generar rechazados
- El entorno local de soporte multilingüístico y las propiedades avanzadas se ignoran
|
Canalización |
elt |
- El entorno local de soporte multilingüístico y las propiedades avanzadas se ignoran
|
Unión |
elt |
- El entorno local de soporte multilingüístico y las propiedades avanzadas se ignoran
|
Búsqueda |
Mixto |
- Condiciones de restricción:
- La búsqueda de rango no está soportada en el enlace primario y de referencia, sólo puede definir la búsqueda de rango en un enlace
- El entorno local de soporte multilingüístico y las propiedades avanzadas se ignoran
|
Eliminar duplicados |
Mixto |
- Actualmente, siempre distingue entre mayúsculas y minúsculas, eliminar duplicados
- Los duplicados para retener el primero/último no están soportados
- El entorno local de soporte multilingüístico y las propiedades avanzadas se ignoran
|
Ordenar |
Mixto |
- La ordenación que no distingue entre mayúsculas y minúsculas no está soportada
- Sin clasificación como EBCDIC
- No hay columnas de cambio de clave o columnas de cambio de clave de clúster
- No ordenar se ignora
- Las estadísticas de salida se ignoran
- Se ignora la ordenación estable
- El programa de utilidad de ordenación DataStage y Unix son una ordenación de base de datos normal
- El entorno local de soporte multilingüístico y las propiedades avanzadas se ignoran
|
Transformador |
Mixto |
- La mayoría de las funciones son compatibles con Google BigQuery, Db2, y Oracle. Las siguientes funciones no son compatibles:
- ForceError
- GetEnvironment
- GetNumOfPartitions
- GetPartitionNum
- GetSavedInputRecord
- NextSKChain
- NextSurrogateKey
- PrevSKChain
- PrintMessage
- PrintWarning
- SaveInputRecord
- SendCustomInstanceReport
- SetCustomMetadataInfo
- SendCustomReport
- SetCustomSummaryInfo
- SetUserStatus
- Las variables de bucle no están soportadas
- Las claves suplentes no están soportadas
- Los desencadenantes (rutinas) no están soportados
- Los valores avanzados de manejo de nulos no están soportados:
- Proceso de nulos preexistentes
- Terminar anormalmente en caso de nulo sin manejar
|
Limitaciones
Las limitaciones siguientes se aplican a la modalidad de ejecución ELT:
- Los flujos con la propagación de columnas de tiempo de ejecución habilitada no están soportados.
- El truncamiento de datos implícito no se realiza cuando la acción de tabla es CREATE o REPLACE.
Habilitación de la modalidad de ejecución ELT
Para activar el modo de ejecución ELT en
DataStage:
- Abra un flujo de DataStage .
- En la barra de herramientas, haga clic en el icono Configuración '
.
- Pulse la pestaña Ejecutar .
- Pulse Extraer, cargar, transformar (ELT). A continuación, pulse Guardar.
Selección de una política de materialización
Seleccione una política de materialización para definir el proceso de consulta. Están disponibles las siguientes opciones.
- Generar SQL anidado
- Sólo se materializan los modelos de salida (tablas de destino). Cada modelo de salida se representa mediante una única consulta que incluye todas las transformaciones de los nodos de entrada a las salidas.
- Enlazar como tabla
- Todos los enlaces de flujo de integración se materializan como tablas. Estas tablas son temporales y se suprimen una vez que se crean las tablas de destino.
- Enlazar como vista
- Todos los enlaces de flujo de integración se materializan como vistas. Estas vistas son temporales y se suprimen una vez que se crean las tablas de destino.
- Avanzado
- Los cambiadores de cardinalidad se materializan como tablas. Un cambiador de cardinalidad es un subconjunto de nodos conectados, basado en etapas como Búsqueda, Unión y Agregador. Estos nodos se combinan para conservar los recursos creando de forma más eficiente y evitando cálculos repetitivos.
Establecimiento de permisos de conector de base de datos para la modalidad de ejecución ELT
Para asegurarse de que la modalidad ELT se ejecuta correctamente, debe establecer determinados permisos para los conectores de base de datos que utiliza en el proceso ELT de
DataStage . Se deben establecer los permisos siguientes para todos los conectores de base de datos:
- Crear vistas a partir de sentencias de selección
- Descartar vistas
- Crear tablas a partir de sentencias de selección
- Desechar tablas
- Modificar tablas para añadir restricciones nulas y claves primarias
Si un conector está configurado con sentencias SQL personalizadas, se necesitan más permisos para las operaciones SQL que se utilizan en las sentencias SQL personalizadas.
Los permisos deben ser establecidos dentro de la base de datos correspondiente por un administrador de base de datos, que está fuera del ámbito de DataStage y Cloud Pak for Data.
Compilación con el mandato dsjob
Puede compilar un flujo de
DataStage utilizando la línea de mandatos:
cpdctl dsjob compile --project <project name> --enable-elt-mode
Ejemplo
Tiene un flujo de
DataStage con cuatro objetos:
- Un origen de datos PostgreSQL
- Una etapa Sort
- Una etapa Filter
- Un destino de datos PostgreSQL
Para habilitar la modalidad ELT, abra los valores de ejecución y selecciónelos.
Después de compilar el trabajo correctamente, el registro de compilación tiene un único mensaje de "envío completo". Este mensaje indica que todo el flujo se ha compilado en modalidad ELT.
Ejecuta el trabajo. Durante la ejecución del trabajo, los datos de origen de PostgreSQL se convierten utilizando sentencias SQL que aplican la ordenación y el filtrado. El resultado se conserva como una tabla definida en el conector de destino PostgreSQL .
La ejecución del trabajo finaliza y la base de datos de destino ahora contiene todos los datos transformados.