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.
¿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.
Paso 4) Crea una nueva transformación en el mapa.ping
- Seleccione la transformación de secuencia como tipo
- Ingrese el nombre de la transformación "seq_emp"
- Seleccione la opción Crear
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.
Paso 6) Vincula la columna NEXTVAL de la secuencia. Generator a la columna SNO en el objetivo.
Paso 7) Enlace las otras columnas de calificador de origen transformación a la tabla de destino.
Paso 8) Double Haz clic en la secuencia. Generator abrir la ventana de la propiedad y luego
- Seleccione la pestaña de propiedades
- Ingrese las propiedades con valor inicial = 1, deje el resto de propiedades por defecto
- Seleccione el botón Aceptar
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.







