Secuencia Generator Transformación en informática

⚡ Resumen inteligente

Secuencia Generator En Informatica, la transformación es el objeto pasivo y conectado que produce secuencias numéricas para las columnas de clave primaria y subrogada, asignando a cada fila un valor a través de dos puertos de salida fijos llamados NEXTVAL y CURRVAL.

  • 🔢 Dos puertos fijos: NEXTVAL contiene los números generados, y CURRVAL devuelve NEXTVAL más el valor de Incremento por.
  • ⚙️ Cuatro propiedades fundamentales: El valor inicial, el incremento, el valor final y el ciclo determinan la forma de cada secuencia producida.
  • 🧪 Ejemplo trabajado: Mapa ochoping Los pasos del diseñador cargan los números generados en la columna SNO de un destino EMP_SEQUENCE.
  • ♻️ Opción reutilizable: Una secuencia reutilizable Generator es compartido por varios mapaspings y almacena en caché 1,000 valores por defecto.
  • 🔒 Los puertos son fijos: Los puertos no se pueden agregar, editar ni eliminar, por lo que todo el comportamiento se controla desde la pestaña Propiedades.
  • 🗝️ Claves sustitutas: Las tablas de dimensiones del almacén de datos utilizan claves generadas en lugar de claves naturales del sistema de origen.

Secuencia Generator Transformación en informática

¿Qué es la secuencia? Generator ¿Transformación?

Secuencia Generator La transformación es pasiva, por lo que no afecta al número de filas de entrada. La secuencia Generator Se utiliza para generar valores de clave primaria y para generar valores de secuencia numérica como 1, 2, 3, 4, 5, etc.

Por ejemplo, si desea asignar valores de secuencia a los registros de origen, puede utilizar Secuencia. GeneratorLos valores de secuencia generados pueden ser como 5, 10, 15, 20, 25, etc. o 10, 20, 30, 40, 50, etc., dependiendo de las propiedades configuradas de la transformación.

A diferencia de la mayoría de las transformaciones, esta no tiene puertos de entrada. No lee las filas entrantes, simplemente pasa el siguiente número al puerto al que está vinculado, por lo que es seguro colocarla junto a cualquier tubería en un mapaping.

Puertos en secuencia Generator

Secuencia Generator tiene dos puertos de salida

  • CURRICULTURA
  • SIGUIENTE

El valor del puerto CURRVAL siempre es NEXTVAL más el valor de Incremento por, por lo que se lee como NEXTVAL+1 solamente mientras que Incremento por se deja en su valor predeterminado de 1.

Para generar los números de secuencia, siempre utilizamos la columna NEXTVAL. La siguiente tabla resume el comportamiento de ambos puertos.

Cerca del puerto deportivo Lo que devuelve Cuándo conectarlo
SIGUIENTE El siguiente número en la secuencia para cada fila que pasa por la tubería. Casi siempre. Este es el puerto que alimenta una columna clave en el destino.
CURRICULTURA NEXTVAL más el valor de Incremento por. Solo junto con NEXTVAL. Conectado de forma independiente, pasa el mismo valor constante para cada fila.

No se puede cambiar el nombre ni eliminar ningún puerto, ni tampoco se puede añadir un tercer puerto, por lo que cualquier modificación de los números generados se realiza en la pestaña Propiedades, en lugar de en los puertos.

Propiedades de la secuencia Generator

  • Valor inicial: es el primer valor que generará la transformación, el valor predeterminado es 0.
  • Incrementar en: este es el número en el que desea incrementar los valores. El valor predeterminado es 1.
  • Valor final – Es el valor máximo que debe generar la transformación.
  • Ciclo: si se establece esta opción, después de alcanzar el final del valor, la transformación se reinicia desde el valor inicial.

En la misma pestaña aparecen tres ajustes adicionales que cobran importancia en cuanto se comparte la transformación o se vuelve a ejecutar una sesión.

Propiedad Lo que controla Predeterminado
Valor actual El valor a partir del cual se ejecuta la siguiente sesión. El Servicio de Integración lo actualiza en el repositorio a medida que se generan las filas. 1
Número de valores almacenados en caché ¿Cuántos valores se reservan en la memoria a la vez para que las sesiones concurrentes nunca distribuyan el mismo número dos veces? 0 para no reutilizable, 1000 para reutilizable
Restablecer Inicia cada sesión desde el valor actual original en lugar de continuar. No está disponible en Secuencia reutilizable. Generators. Desactivado
TracNivel de ing Cantidad de detalles escritos en el registro de sesión: Breve, Normal, Inicialización detallada o Datos detallados. Normal

Cómo usar Sequence Generator Transformación en informática

En este ejemplo, generaremos números de secuencia y los almacenaremos en el destino. Siga los ocho pasos que se indican a continuación en el Mapa.ping Diseñador.

Paso 1) Cree una tabla de destino con el siguiente script.

Descargue el archivo emp_sequence.sql anterior

Paso 2) Importa la tabla en Informatica como tabla de destino.

Paso 3) Crea un nuevo mapaping e importar la tabla de origen EMP y la tabla de destino EMP_SEQUENCE. Ambas definiciones se encuentran ahora en el lienzo, como se muestra a continuación.

Mapearping Diseñador con la definición de origen EMP y destino EMP_SEQUENCE importadas

Paso 4) Crea una nueva transformación en el mapa.ping

  1. Seleccione la transformación de secuencia como tipo
  2. Ingrese el nombre de la transformación "seq_emp"
  3. Seleccione la opción Crear

Crear ventana de transformación con secuencia Generator Se seleccionó y se ingresó el nombre seq_emp.

Paso 5) Secuencia Generator Se creará la transformación; seleccione la opción "Listo". El objeto seq_emp aparece ahora en el lienzo con sus dos puertos.

Secuencia Generator transformación seq_emp creada en el mapaping lienzo

Paso 6) Vincula la columna NEXTVAL de la secuencia. Generator a la columna SNO en el objetivo.

Puerto NEXTVAL de seq_emp vinculado a la columna SNO del objetivo EMP_SEQUENCE

Paso 7) Enlace las otras columnas de calificador de origen transformación a la tabla de destino.

Columnas restantes del calificador de origen vinculadas a la tabla de destino EMP_SEQUENCE

Paso 8) Double Haz clic en la secuencia. Generator abrir la ventana de la propiedad y luego

  1. Seleccione la pestaña de propiedades
  2. Ingrese las propiedades con valor inicial = 1, deje el resto de propiedades por defecto
  3. Seleccione el botón Aceptar

Pestaña Propiedades de la secuencia Generator transformación con el valor inicial establecido en 1

Ahora guarda el mapa.ping y ejecutarlo después de crear el durante toda la sesión. y flujo de trabajo.

La columna sno en el objetivo contendría los números de secuencia generados por la secuencia. Generator transformación.

En nuestro ejemplo, las secuencias serán como 1 – Scott, 2 – King, 3 – Adam, 4 – Miller, etc.

Secuencia reutilizable y no reutilizable Generators

La transformación construida arriba reside dentro de un mapapingEn cambio, crearlo en el Desarrollador de Transformaciones lo hace reutilizable, y ambos se comportan de manera diferente cuando hay más de una sesión involucrada.

Punto de comparación No reutilizable Reutilizable
Dónde se crea Dentro de un solo mapaping, en el mapaping Diseño En el Desarrollador de transformaciones, luego se agrega a cualquier número de mapaspings
Número de valores almacenados en caché El valor predeterminado es 0, por lo que los valores no se reservan con antelación. El valor predeterminado es 1000, por lo que cada sesión reserva su propio bloque de números.
Restablecer propiedad Disponible, y reinicia la secuencia desde el valor actual original. No disponible, ya que reiniciar asignaría números que otra sesión ya está utilizando.
Uso típico Una columna clave de destino en un mapaping Una clave sustituta compartida en varios mapaspings cargando la misma dimensión

El almacenamiento en caché es lo que mantiene separadas las sesiones concurrentes. Cada sesión toma un bloque de números por adelantado, lo que significa que los números siguen siendo únicos pero no contiguos: cualquier valor que quede sin usar cuando finaliza una sesión se descarta, y el siguiente bloque comienza después de ellos.

Reglas y limitaciones de la secuencia Generator

Algunos de estos solo salen a la luz después del mapa.ping ya se ha ejecutado, por lo que es más barato saberlo antes de que se conecten los puertos.

  • Los puertos están fijos. NEXTVAL y CURRVAL no se pueden editar ni eliminar, y no se puede agregar ningún otro puerto a la transformación.
  • CURRVAL por sí solo devuelve una constante. Conecte CURRVAL solo cuando NEXTVAL también esté conectado aguas abajo; de lo contrario, cada fila recibirá el mismo valor.
  • Se cargan dos objetivos uno tras otro. Cuando NEXTVAL alimenta dos tablas de destino, la primera tabla se carga con sus números antes de que comience la segunda, por lo que los dos conjuntos no se intercalan.
  • Los espacios son normales. Los valores almacenados en caché que una sesión no utiliza nunca se devuelven, por lo que una sesión fallida o corta deja huecos en la secuencia. Diseñe la columna clave para que tolere estos huecos.
  • Cycle puede crear duplicados. Una vez alcanzado el valor final con la función Ciclo habilitada, la numeración se reinicia en el valor inicial, lo que provocará un conflicto con las claves existentes a menos que el destino lo permita.

Debido a que nunca lee una fila, la transformación agrega casi nada al tiempo de ejecución de la sesión, razón por la cual rara vez aparece como un cuello de botella durante la optimización del rendimiento. Donde una clave tiene que depender de los datos mismos en lugar de un contador, una Aggregator or Transformación de carpintero Es el objeto que realiza ese trabajo, no este.

Preguntas Frecuentes

Una clave subrogada es un número sin significado que identifica una fila del almacén de datos en lugar del identificador del sistema de origen. Permanece estable cuando el sistema de origen cambia sus códigos, y la secuencia generada es la forma más sencilla de producirla.

Porque la numeración queda entonces plasmada en el mapa.ping En lugar de en una sola base de datos, los archivos planos y otros destinos no relacionales obtienen las claves de la misma manera, y el mismo objeto reutilizable puede numerar varios destinos sin necesidad de un objeto de base de datos por tabla.

El valor final admite hasta 9,223,372,036,854,775,807, el entero de 64 bits con signo más grande. Al alcanzarlo, la sesión se detiene con un error de desbordamiento, a menos que la opción Ciclo esté habilitada, en cuyo caso la numeración se reinicia desde el valor inicial.

Sí. NEXTVAL se conecta a cualquier transformación posterior, generalmente una expresión que crea una clave compuesta o una búsqueda que comprueba si ya existe una clave. El número generado se transfiere con la fila.

Sí, pero primero verifica el destino. Editar el valor inicial o el valor actual en una columna clave activa puede asignar números que el destino ya contiene, así que aumenta el valor por encima de la clave más alta en lugar de disminuirlo.

Apenas. No lee filas ni crea archivos de caché, por lo que su coste se reduce a una actualización del contador por cada fila. Las cargas grandes están limitadas por el lector y el escritor mucho antes de que la numeración se convierta en un problema.

Los analizadores de IA examinan las columnas de origen para sugerir qué combinación es realmente única, marcan las claves candidatas con valores nulos o duplicados y detectan desviaciones entre cargas. La coincidencia basada en aprendizaje automático también vincula registros que describen la misma entidad con diferentes identificadores.

Copilot escribe el equivalente SQL Definición de secuencia o identidad y consultas de conciliación que demuestren que no se duplicó ninguna clave. No puede ver los valores de su repositorio, así que verifique el valor actual en la propia transformación antes de cargar los datos.

Resumir este post con: