Saltar al contenido

Reutilización de la Transformación

Introducción

Como se puede hacer referencia a una transformación como un etapa de operación en múltiples operaciones al mismo tiempo, es importante comprender las ramificaciones y la complejidad detrás de la reutilización de transformaciones.

El proceso involucrado en hacer referencia a una transformación depende de si el esquema está definido en una transformación ("propiedad de la transformación") o heredado de una actividad ("propiedad de la actividad"):

  • Esquemas propiedad de la transformación: Cuando un esquema está definido directamente en una transformación, es propiedad de la transformación y hacer referencia a la transformación es sencillo, como se describe en Reutilización de componentes.
  • Esquemas propiedad de la actividad: A diferencia de los esquemas propiedad de la transformación, cuando se hace referencia a una transformación que hereda al menos un esquema de una actividad, el orden en el que se configuran los pasos de una operación controla cómo se propagan los esquemas a través de las referencias de transformación y determina qué mensajes se presentan en la interfaz de usuario. Esos mensajes le ayudan a elegir qué esquemas utilizar y facilitan la creación de una nueva transformación cuando sea apropiado. Después de hacer referencia a una transformación, es posible que necesite actualizar los esquemas en la transformación original o a la que se hace referencia para resolver errores de validación, como se describe en esta página.

Como esta página es complementaria a Reutilización de componentes, no repite la información contenida en esa página. Consulte Reutilización de componentes para conocer las definiciones de la terminología de reutilización de componentes y cómo copiar, cortar y pegar componentes (incluidas las transformaciones).

Cuando hace referencia a una transformación, es útil tener en cuenta que tanto la transformación original como la transformación a la que se hace referencia recientemente hacen referencia al mismo componente. Cualquier cambio en cualquiera de las transformación afecta a todas las instancias de la transformación a la que se hace referencia, incluidos los cambios en la forma en que se definen los esquemas. Si una transformación hereda un esquema de una actividad adyacente y luego crea una referencia a esa transformación en otra operación, la transformación a la que se hace referencia recientemente contendrá una referencia al esquema original, a pesar de que la actividad no sea adyacente a la transformación a la que se hace referencia.

Cuando eso ocurre, debe rectificar los cambios actualizando los esquemas y resolviendo cualquier error de validación.

Caso de Uso

El caso de uso previsto para poder reutilizar una transformación que hereda esquemas de actividad debida es cuando tiene varios orígenes en los que desea utilizar asignaciones similares para el mismo destino.

Por ejemplo, es posible que tenga datos de origen proporcionados a través de esquemas propiedad de la actividad tanto en el Extremo A como en el Extremo B. Si la estructura de los datos de origen es similar, es posible que desee reutilizar las asignaciones de transformación antes de alcanzar el destino del Extremo C. En este En este caso, primero puede crear la operación utilizando el Extremo A como origen y luego copiar su transformación para reutilizarla en otra operación utilizando el Extremo B como origen.

Si bien también es posible reutilizar una transformación que hereda un esquema de destino propiedad de la actividad, cualquier asignación de transformación original se eliminará de una nueva copia de la transformación que se crea cuando se actualiza el esquema de destino.

Mejores Prácticas

Recomendamos seguir estas mejores prácticas al reutilizar transformaciones que heredan al menos un esquema de una actividad.

Agregar Actividades Antes de Agregar una Transformación

Cuando pretenda reutilizar una transformación con esquemas de propiedad de actividad en una operación, siempre agregue primero las actividades a la operación, antes de agregar la transformación a la operación. El orden recomendado se demuestra mediante Escenarios A y B más adelante en esta página.

Cuando no sigue esta práctica recomendada y en su lugar agrega primero una transformación a la que se hace referencia a una operación y luego agrega una actividad adyacente que proporciona un esquema, esto hace que todas las instancias de la transformación a la que se hace referencia se actualicen automáticamente con el nuevo esquema. Esto puede provocar que las transformaciones a las que se hace referencia anteriormente válidas dejen de ser válidas y es posible que las asignaciones ya no se muestren.

Para recuperarse de esta situación, en cada transformación a la que se hace referencia afectada, abra la transformación y use el enlace que aparece en el encabezado de la transformación para actualizar el esquema y crear una copia independiente de la transformación con sus esquemas originales. Las asignaciones volverán a aparecer cuando se hayan reemplazado los esquemas originales.

Resolver Errores de Mapeo

Después de actualizar un esquema propiedad de actividad que no coincide en una transformación a la que se hace referencia, es posible que la copia de transformación independiente que se crea haya conservado asignaciones que ahora no son válidas debido a campos inexistentes de la transformación a la que se hace referencia anteriormente. Las asignaciones existentes que hacen referencia a un nodo o campo de origen o de destino que ya no existe ya no son visibles en la copia independiente de la transformación, ya que ya no son válidas.

Estos errores no se muestran en una transformación abierta, pero se pueden identificar desde el panel del proyecto.

Para resolver estos errores de asignación, recomendamos eliminar todas las asignaciones no válidas mediante la opción del menú de acciones del nodo raíz de destino Eliminar todas las asignaciones no válidas.

Escenarios

Estos escenarios se utilizan para describir y demostrar el proceso para hacer referencia a una transformación que hereda un esquema de una actividad. Se puede hacer referencia a las Transformaciones en una operación arrastrando y soltando o pegando una operación que ha sido copiada o cortada (consulte Crear una referencia de componente en Reutilización de componentes).

Cada escenario se refiere a la colocación de transformaciones y actividades en el tela de diseño como pasos de una operación.

Todos estos escenarios se basan en una operación original que utiliza una transformación en la que tanto los esquemas de solicitud como de respuesta se heredan de actividades inicialmente adyacentes.

Nota

El comportamiento en estos escenarios también se aplica al lado del esquema relevante si la transformación hereda solo un esquema.

En la operación original (Operación original), una actividad de consulta de Amazon Redshift (Cuentas de consulta) proporciona un esquema de solicitud y una actividad Upsert de Amazon Redshift (Cuentas de Upsert) proporciona un esquema de respuesta para la transformación (Transformación):

operación operación original válida

El orden en el que se agregan los pasos de una operación controla cómo se propagan los esquemas entre las transformaciones y determina qué mensajes se presentan en la interfaz de usuario. La siguiente tabla resume los posibles escenarios y los pasos en los que se podría configurar una operación con una referencia de transformación. Cada escenario se describe en la siguiente sección, como se vincula en la tabla.

Guión
Resumen Pasos
Escenario A Se agrega una transformación referenciada junto a una actividad con un esquema definido
  1. Agregar una actividad a una operación donde la actividad proporciona un esquema.
  2. Agregar una transformación referenciada a la misma operación junto a esa actividad.
Escenario B Se agrega una transformación referenciada junto a una actividad sin un esquema definido
  1. Agregar una actividad a una operación donde la actividad no proporciona un esquema.
  2. Agregar una transformación referenciada a la misma operación junto a esa actividad.
Escenario C Se agrega una actividad con un esquema definido junto a una transformación a la que se hace referencia
  1. Agregar una transformación referenciada a una operación.
  2. Agregar una actividad a la misma operación donde la actividad proporciona un esquema.
Escenario D Se agrega una actividad sin un esquema definido junto a una transformación referenciada
  1. Agregar una transformación referenciada a una operación.
  2. Agregar una actividad a la misma operación donde la actividad no proporciona un esquema.

Escenario A: Transformación Referenciada Agregada Junto a una Actividad con un Esquema Definido

En el Escenario A, primero se agregan dos nuevas actividades de Amazon Redshift a una nueva operación y se configuran completamente (mediante la finalización de los pasos del esquema de datos): Query Companies y Upsert Persons. Luego se agrega la transformación de Operación Original como referencia entre las dos actividades.

La referencia de transformación recién agregada es válida, sin errores de validación. Sin embargo, la operación en sí no es válida:

escenario de operación válido

El error de validación de operación indica que los esquemas de la transformación no coinciden con las estructuras de esquema proporcionadas por las actividades adyacentes de la transformación:

escenario de errores de validación a

Corregir Errores de Validación

Para solucionar el problema de validación de la operación, abra la transformación. Se muestra un mensaje que indica una discrepancia en el encabezado de transformación. Haga clic en el enlace dentro del mensaje para actualizar el esquema relevante:

objetivo de discrepancia de esquema anotado

Nota

Solo se muestra un mensaje a la vez. Si ambos esquemas no coinciden, utilice el enlace del mensaje para actualizar primero uno de los esquemas y crear una copia de la transformación (que se explica a continuación). Después de crear una copia de la transformación, se muestra otro mensaje, que puede utilizar para actualizar el otro lado del esquema.

Al hacer clic en el enlace para actualizar el esquema, se muestra un cuadro de diálogo que le solicita que cree una copia de la transformación como un componente nuevo e independiente:

usar esquema de entrada de actividad

Al hacer clic en Continuar, se separará esta transformación de otras ubicaciones a las que se hace referencia y se creará y abrirá un nuevo componente de transformación que utiliza esquemas definidos según la precedencia estándar. Es decir, la nueva transformación utiliza primero un esquema heredado de una actividad adyacente a la nueva transformación. Si no hay ninguna actividad adyacente presente o si no hay un esquema definido en la actividad, la transformación utiliza un esquema definido en la nueva transformación. La nueva transformación ya no está conectada a la transformación anterior por referencia ni a ningún esquema heredado por las actividades adyacentes de la transformación anterior.

Si ambos esquemas no coinciden, o si ninguna otra operación ya hace referencia a la transformación, la transformación recién creada se creará con otro mensaje que indica una discrepancia de esquema en el otro lado de la transformación. Vuelva a hacer clic en el enlace dentro del mensaje para actualizar el esquema relevante:

fuente de discrepancia de esquema anotada

Un cuadro de diálogo indica que el esquema actual se eliminará de la transformación y que la transformación heredará el esquema de una actividad adyacente a esta transformación:

usar esquema de salida de actividad

Al hacer clic en Continuar, se actualiza el esquema en la transformación actual:

falta de coincidencia de esquema actualizada

La transformación puede entonces no ser válida debido a los cambios de esquema en el lado de la actividad (por ejemplo, si los campos cambian de nombre o ya no están presentes):

escenario de operación no válido

Asigne los campos de destino como desee para configurar la transformación.

Nota

Si persisten los errores de validación de la transformación, es posible que existan asignaciones de la transformación a la que se hace referencia anteriormente que se conservan en la copia de la transformación, lo que hace que la transformación no sea válida. Para resolverlo, consulte la sección Asignaciones de Transformación más adelante en esta página.

Escenario B: Transformación Referenciada Agregada Junto a una Actividad Sin un Esquema Definido

En el Escenario B, primero se agregan dos nuevas actividades de variable a una nueva operación: Leer de variable y Escribir en variable. Cada actividad variable está completamente configurada con la opción de no proporcionar un esquema de datos. Luego se agrega la transformación de Operación Original como referencia entre las dos actividades.

Todos los pasos de la operación y la operación en sí son válidos:

escenario de operación b

En este escenario, se puede hacer referencia a la transformación original (Transformación) sin ningún problema. La transformación continúa utilizando esquemas que se definen en las actividades de Operación original.

Cuando abre la transformación, puede ver de dónde provienen los esquemas y puede abrir cada actividad de Amazon Redshift utilizando el menú de acciones del esquema para seleccionar Editar actividad. El uso de Actualizar esquema actualiza el esquema de las actividades de Operación original:

menú de acciones de esquema que no coincide con el esquema

Escenario C: Actividad con un Esquema Definido Agregado Junto a una Transformación Referenciada

En el Escenario C, la transformación original (Transformación) se agrega primero a una nueva operación como referencia.

Luego se agregan dos nuevas actividades de Amazon Redshift a la operación en cada lado de la transformación: Consultar empleados y Insertar datos de usuario:

escenario de operación c actividades no válidas

Cuando configura el esquema de datos de cada actividad, la transformación adyacente, que anteriormente heredaba sus esquemas de las actividades en la Operación Original, ahora hereda sus esquemas de las actividades directamente adyacentes a la transformación. Esto afecta a todas las ubicaciones donde se hace referencia a la transformación y puede provocar que otras operaciones dejen de ser válidas.

Al abrir cada actividad para configurarla, un cuadro de diálogo enumera todas las demás operaciones que hacen referencia a la transformación y se verán afectadas:

escenario de actualizaciones de transformación c

Este cuadro de diálogo es informativo, ya que al hacer clic en Continuar aún no se actualizará la transformación. En cambio, al hacer clic en Continuar, volverá a la pantalla de configuración de la actividad. Cancelar la salida de este cuadro de diálogo utilizando el Esc la tecla tiene el mismo resultado que hacer clic en Continuar. Si cierra la pantalla de configuración de la actividad sin configurar el esquema de datos, la transformación adyacente no se verá afectada, ya que la actividad permanecerá sin configurar sin un esquema de datos.

Una vez que configura la actividad con un esquema de datos, las operaciones enumeradas se ven afectadas.

Advertencia

La acción de agregar actividades con esquemas definidos en cualquier lado de la transformación a la que se hace referencia afecta a todas las ubicaciones donde se hace referencia a la transformación y puede provocar que otras operaciones dejen de ser válidas.

La referencia de transformación recién agregada no es válida:

escenario de operación c transformación no válida

La operación con las actividades que ahora proporcionan esquemas para la transformación no es válida porque la transformación no es válida. Sin embargo, en la transformación, no hay indicación de errores de validación de transformación:

falta de coincidencia de esquema no válida

Corregir Errores de Validación

En este escenario, la transformación no es válida debido a cambios de esquema en el lado de la actividad (por ejemplo, si se cambia el nombre de los campos o ya no están presentes). Para resolverlo, consulte la sección Asignaciones de Transformación más adelante en esta página.

Además, es posible que otras operaciones que utilizan la transformación hayan dejado de ser válidas. Por ejemplo, la Operación original automáticamente deja de ser válida, ya que su transformación se ha modificado automáticamente para hacer referencia ahora a los esquemas de las actividades en el Escenario C:

operación operación original no válida

Para corregir errores con otras operaciones, abra la transformación en cada operación y haga clic en el enlace para actualizar el esquema que aparece en el mensaje en el encabezado de la transformación (como se describe en Escenario A, arriba).

Escenario D: Actividad Sin un Esquema Definido Agregado Junto a una Transformación Referenciada

En el Escenario D, la transformación original (Transformación) se agrega primero a una nueva operación como referencia.

Luego se agregan dos nuevas actividades de almacenamiento temporal a la operación en cada lado de la transformación: Leer desde almacenamiento temporal y Escribir en almacenamiento temporal:

escenario de operación d no válido

Al abrir cada actividad para configurarla, un cuadro de diálogo implica incorrectamente que otras operaciones se verán afectadas por la configuración de la actividad:

escenario de actualizaciones de transformación d

De hecho, si no proporciona un esquema en la configuración de la actividad, la transformación adyacente no se verá afectada. La transformación adyacente seguirá heredando sus esquemas de las actividades de la Operación original.

Advertencia

Si luego reconfigura la actividad en otro momento para proporcionar un esquema en la configuración de la actividad, la transformación adyacente y cualquier otra operación a la que se haga referencia se verá afectada, aunque este cuadro de diálogo no vuelve a aparecer.

Después de configurar completamente cada actividad con la opción de no proporcionar un esquema de datos, todos los pasos de la operación y la operación en sí son válidos:

escenario de operación d válido

En este escenario, se puede hacer referencia a la transformación original (Transformación) sin ningún problema. La transformación continúa utilizando esquemas que se definen en las actividades de Operación Original.

Cuando abre la transformación, puede ver de dónde provienen los esquemas y puede abrir cada actividad de Amazon Redshift utilizando el menú de acciones del esquema para seleccionar Editar actividad. El uso de Actualizar esquema actualiza el esquema de las actividades de Operación original:

menú de acciones de esquema que no coincide con el esquema

Mapeos de Transformación

Independientemente de dónde se definan los esquemas de una transformación, asignaciones de transformación son propiedad de la transformación. Si el esquema de destino cambia de modo que los campos de destino con asignaciones ya no estén presentes y luego esos campos se vuelven a agregar, las asignaciones de transformación volverán a aparecer.

Las asignaciones que permanecen en una transformación después de que su esquema de destino haya cambiado dan como resultado errores de validez de la transformación si los campos asignados ya no están presentes en un esquema.

Esto puede ocurrir cuando una transformación con asignaciones que alguna vez heredó sus esquemas de actividades adyacentes se hace referencia posteriormente en otra operación con diferentes actividades adyacentes que proporcionan esquemas, como se describe en los escenarios de Escenario B y Escenario D arriba.

En este caso, un error de validación de transformación describe los campos que faltan, aunque no se muestran errores de validación en la transformación misma.

errores de validación campo objetivo inexistente

Para resolverlo, puede eliminar todas las asignaciones no válidas utilizando la opción del menú de acciones del nodo raíz de destino Eliminar todas las asignaciones no válidas (consulte Nodos de destino en Modo de mapeo).