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

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.

división condicional

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 se dirigen a la primera condición de coincidencia. 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:

división condicional

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)

Pasos siguientes

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