Share via


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

SE APLICA A:Azure Data Factory Azure Synapse Analytics

Sugerencia

Pruebe Data Factory en Microsoft Fabric, una solución de análisis todo en uno para empresas. Microsoft Fabric abarca todo, desde el movimiento de datos hasta la ciencia de datos, el análisis en tiempo real, la inteligencia empresarial y los informes. Obtenga información sobre cómo iniciar una nueva evaluación gratuita.

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

Surrogate Key Transform

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é.

Surrogate Key lookup

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>.

Surrogate Key Query

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:

Surrogate Key File

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

Surrogate Key Transform

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

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