Transformación División condicional 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.

La transformación División condicional enruta las filas de datos a diferentes flujos en función de las condiciones coincidentes. La transformación División condicional es similar a una estructura de decisión CASE en un lenguaje de programación. La transformación evalúa las expresiones y, según los resultados, dirige la fila de datos a la secuencia especificada.

Configuración

El valor Dividir determina si la fila de datos fluye hacia el primer flujo coincidente o hacia todos los flujos que coincidan.

Utilice el generador de expresiones de flujo de datos para especificar una expresión como condición de división. Para agregar una nueva condición, haga clic en el icono del signo más de una fila existente. También se puede agregar un flujo predeterminada para las filas que no coinciden con ninguna condición.

Shows the Conditional Split UI with selections as described above.

Script de flujo de datos

Sintaxis

<incomingStream>
    split(
        <conditionalExpression1>
        <conditionalExpression2>
        ...
        disjoint: {true | false}
    ) ~> <splitTx>@(stream1, stream2, ..., <defaultStream>)

Ejemplo

El ejemplo siguiente es una transformación División condicional denominada SplitByYear que toma el flujo entrante CleanData. Esta transformación tiene dos condiciones de división, year < 1960 y year > 1980. disjoint es false porque los datos van a la primera condición de coincidencia en lugar de a todas ellas. Cada fila que coincide con la primera condición se dirige al flujo de salida moviesBefore1960. Todas las filas restantes que coinciden con la segunda condición se dirigen al flujo de salida moviesAFter1980. Todas las demás filas pasan a través del flujo predeterminado AllOtherMovies.

En la interfaz de usuario del servicio, esta transformación es similar a la siguiente imagen:

Shows the Conditional Split UI with selections as described above.

En el siguiente fragmento de código se muestra el script del flujo de datos para esta transformación:

CleanData
    split(
        year < 1960,
	    year > 1980,
	    disjoint: false
    ) ~> SplitByYear@(moviesBefore1960, moviesAfter1980, AllOtherMovies)

Las transformaciones de flujo de datos comunes que se usan con la división condicional son la transformación Combinación, la transformación Búsqueda y la transformación Selección