Transformación Clave suplente en el flujo de datos de asignación

SE APLICA A: Azure Data Factory Azure Synapse Analytics

Los flujos de datos están disponibles en las canalizaciones Azure Data Factory y Azure Synapse. Este artículo se aplica a los flujos de datos de asignación. Si carece de experiencia con las transformaciones, consulte el artículo de introducción Transformación de datos mediante flujos de datos de asignación.

Use la transformación Clave suplente para agregar un valor de clave incremental a cada fila de datos. Esto resulta útil al diseñar tablas de dimensiones en un modelo de datos analíticos de esquema de estrella. En un esquema de estrella, cada miembro de las tablas de dimensiones requiere una clave única que no sea una clave empresarial.

Configuración

Transformación Clave suplente

Columna de clave: nombre de la columna de clave suplente generada.

Valor inicial: valor de clave más bajo que se generará.

Incrementar claves a partir de orígenes existentes

Para iniciar la secuencia desde un valor existente en un origen, se recomienda usar un receptor de caché para guardar ese valor y utilizar una transformación de columna derivada para agregar los dos valores juntos. Use una búsqueda almacenada en caché para obtener la salida y anexarla a la clave generada. Para obtener más información, consulte los temas sobre los receptores de caché y las búsquedas almacenadas en caché.

Búsqueda de clave suplente

Incremento del valor máximo existente

Para inicializar el valor de clave con el máximo anterior, puede usar dos técnicas en función de la ubicación de los datos de origen.

Orígenes de base de datos

Use una opción de consulta SQL para seleccionar MAX() desde el origen. Por ejemplo, Select MAX(<surrogateKeyName>) as maxval from <sourceTable>.

Consulta de clave suplente

Orígenes de archivo

Si el valor máximo anterior se encuentra en un archivo, use la función max() en la transformación Agregado para obtener el valor máximo anterior:

Archivo de clave suplente

En ambos casos, tendrá que escribir en un receptor de caché y buscar el valor.

Script de flujo de datos

Sintaxis

<incomingStream> 
    keyGenerate(
        output(<surrogateColumnName> as long),
        startAt: <number>L
    ) ~> <surrogateKeyTransformationName>

Ejemplo

Transformación Clave suplente

El script de flujo de datos para la configuración de clave suplente anterior se encuentra en el siguiente fragmento de código.

AggregateDayStats
    keyGenerate(
        output(key as long),
        startAt: 1L
    ) ~> SurrogateKey1

Pasos siguientes

En estos ejemplos se usan las transformaciones Combinación y Columna derivada.