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
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é.
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>
.
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:
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
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
Contenido relacionado
En estos ejemplos se usan las transformaciones Combinación y Columna derivada.