Compartir a través de


Módulo 2: Transformación de datos con un flujo de datos en Data Factory

Este módulo tarda aproximadamente 25 minutos en completarse. Cree un flujo de datos, aplique transformaciones y mueva los datos sin procesar de la tabla de la capa de datos bronce a una tabla de la capa de datos oro.

Con los datos sin procesar cargados en la tabla bronze Lakehouse del último módulo, ahora puede enriquecerlos. Se combinará con otra tabla que contiene descuentos para cada proveedor y sus viajes durante un día determinado. Finalmente, esta última tabla Lakehouse dorada se carga y queda lista para su consumo.

Los pasos generales del flujo de datos son:

Prerrequisitos

Módulo 1 de esta serie de tutoriales: Creación de una canalización con Data Factory

Obtención de datos de una tabla de Lakehouse

  1. En la barra lateral, seleccione el área de trabajo, seleccione Nuevo elemento y, a continuación, Dataflow Gen2 para crear un nuevo flujo de datos Gen2.

    Captura de pantalla que muestra la página Crear tejido con el botón Dataflow Gen2 resaltado.

  2. En el nuevo menú de flujo de datos, seleccione Obtener datos y, a continuación, Más....

    Captura de pantalla que muestra el menú Flujo de datos con el botón Obtener datos resaltado y Más... opción resaltada en su menú.

  3. Busque y seleccione el conector de Lakehouse .

    Captura de pantalla que muestra la selección del origen de datos de Lakehouse en el menú Elegir origen de datos.

  4. Aparece el cuadro de diálogo Conectar con el origen de datos y se crea automáticamente una nueva conexión en función del usuario que ha iniciado sesión actualmente. Seleccione Siguiente.

    Captura de pantalla que muestra la configuración del origen de datos para su nuevo Lakehouse, con el usuario actualmente conectado y el botón Siguiente seleccionado.

  5. Se muestra el cuadro de diálogo Elegir datos . Utilice el panel de navegación para encontrar el Lakehouse que creó como destino en el módulo anterior y seleccione la tabla de datos Tutorial_Lakehouse. A continuación, seleccione Crear.

    Captura de pantalla que muestra el navegador de Lakehouse con el área de trabajo, el lakehouse y la tabla creados con la actividad de copia en el módulo 1.

  6. (Opcional) Una vez que el lienzo se rellena con los datos, puede establecer información de perfil de columna , ya que esto resulta útil para la generación de perfiles de datos. Puede aplicar la transformación correcta y orientar los valores de datos adecuados basándose en ella.

    Para ello, seleccione Opciones en el panel de la cinta de opciones y, a continuación, seleccione las tres primeras opciones en Perfil de columna y, a continuación, seleccione Aceptar.

    Captura de pantalla que muestra la selección de opciones de columna para los datos.

Transformación de los datos importados desde Lakehouse

  1. Seleccione el icono de tipo de datos en el encabezado de columna de la segunda columna , IpepPickupDatetime, para mostrar un menú desplegable y seleccionar el tipo de datos en el menú para convertir la columna del tipo Date/Time a Date .

    Captura de pantalla que muestra la selección del tipo de datos Date para la columna IpepPickupDatetime.

  2. (Opcional) En la pestaña Inicio de la cinta de opciones, seleccione la opción Elegir columnas en el grupo Administrar columnas .

    Captura de pantalla que muestra el botón Elegir columnas en la pestaña Inicio del editor de flujo de datos.

  3. (Opcional) En el cuadro de diálogo Elegir columnas , anule la selección de algunas columnas que aparecen aquí y, a continuación, seleccione Aceptar.

    • lpepDropoffDatetime
    • puLocationId
    • doLocationId
    • latitudDeRecogida
    • dropoffLongitude
    • rateCodeID

    Captura de pantalla que muestra el cuadro de diálogo Elegir columnas con las columnas identificadas deseleccionadas.

  4. Seleccione el menú desplegable de filtro y ordenación de la columna storeAndFwdFlag . (Si ve que una lista de advertencias puede estar incompleta, seleccione Cargar más para ver todos los datos).

    Captura de pantalla que muestra el cuadro de diálogo de filtro y ordenación de la columna.

  5. Seleccione "Y" para mostrar solo las filas en las que se aplicó un descuento y, a continuación, seleccione Aceptar.

    Captura de pantalla que muestra el filtro de valores con solo

  6. Seleccione el menú desplegable Ordenar y filtrar columna IpepPickupDatetime y, a continuación, seleccione Filtros de fecha y elija el filtro Entre... proporcionado para los tipos Fecha y Fecha y Hora.

    Captura de pantalla que muestra la selección de la opción Filtros de fecha en el menú desplegable de ordenación y formato de columna.

  7. En el cuadro de diálogo Filtrar filas , seleccione fechas entre el 1 de enero de 2015 y el 31 de enero de 2015 y, a continuación, seleccione Aceptar.

    Captura de pantalla que muestra la selección de las fechas de enero de 2015.

Conexión a un archivo CSV que contiene datos de descuento

Con los datos de los viajes en su lugar, queremos cargar los datos que contienen los descuentos respectivos para cada día y VendorID, y preparar los datos antes de combinarlos con los datos de viajes.

  1. En la pestaña Inicio del menú del editor de flujos de datos, seleccione la opción Obtener datos y, a continuación, elija Texto/CSV.

    Captura de pantalla que muestra la selección del menú Obtener datos en la pestaña Inicio, con Texto/CSV resaltado.

  2. En el cuadro de diálogo Conectar al origen de datos , proporcione los detalles siguientes:

    • Ruta de acceso o dirección URL del archivo - https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
    • Tipo de autenticación : anónimo

    Luego, selecciona Siguiente.

    Captura de pantalla que muestra la configuración de texto/CSV para la conexión.

  3. En la ventana de diálogo de previsualización de datos del archivo, seleccione Crear.

    Captura de pantalla que muestra el cuadro de diálogo Vista previa de los datos del archivo con el botón Crear resaltado.

Transformar los datos de descuento

  1. Al revisar los datos, vemos que los encabezados aparecen estar en la primera fila. Para promoverlos a encabezados, seleccione el menú contextual de la tabla en la parte superior izquierda del área de cuadrícula de vista previa para seleccionar Usar la primera fila como encabezados.

    Captura de pantalla que muestra la selección de la opción Usar la primera fila como encabezados en el menú contextual de la tabla.

    Nota:

    Después de promover los encabezados, puede ver un nuevo paso agregado al panel Pasos aplicados en la parte superior del editor de flujo de datos, que se aplicará a los tipos de datos de sus columnas.

  2. Haga clic con el botón derecho en la columna VendorID y, en el menú contextual que se muestra, seleccione la opción Despivotar otras columnas. Esto le permite transformar columnas en pares atributo-valor, donde las columnas se convierten en filas.

    Captura de pantalla que muestra el menú contextual de la columna VendorID con la selección Despivotar otras columnas resaltada.

  3. Con la tabla sin dinamizar, cambie el nombre de las columnas Atributo y Valor haciendo doble clic en ellas y cambiando Atributo a Fecha y Valor a Descuento.

    Captura de pantalla que muestra las columnas de la tabla después de renombrar Atributo a Fecha y Valor a Descuento.

  4. Cambie el tipo de datos de la columna Fecha; para ello, seleccione el menú tipo de datos situado a la izquierda del nombre de la columna y elija Fecha.

    Captura de pantalla que muestra la selección del tipo de datos Date de la columna Fecha.

  5. Seleccione la columna Descuento y, a continuación, seleccione la pestaña Transformar en el menú. Seleccione Número columna y, a continuación, seleccione Transformaciones numéricas estándar en el submenú y elija Dividir.

    Captura de pantalla que muestra la selección de la opción Dividir para transformar datos en la columna Descuento.

  6. En el cuadro de diálogo Dividir , escriba el valor 100.

    Captura de pantalla que muestra el cuadro de diálogo Dividir con el valor 100 especificado y el botón Aceptar resaltado.

Combinar viajes y datos de descuentos

El siguiente paso consiste en combinar ambas tablas en una sola tabla que tenga el descuento que se debe aplicar al viaje y el total ajustado.

  1. En primer lugar, cambie el botón Vista diagrama de la parte inferior derecha de la ventana para que pueda ver ambas consultas.

    Captura de pantalla que muestra el botón de alternancia de vista de diagrama, con ambas consultas creadas en este tutorial mostradas.

  2. Seleccione la consulta de datos original (en nuestro ejemplo, su nombre Bronze) y, en la pestaña Inicio , seleccione el menú Combinar y elija Combinar consultas y, a continuación, Combinar consultas como nuevas.

    Captura de pantalla que muestra la opción 'Combinar consultas como nuevas' para la consulta 'nyc_taxi'.

  3. En el cuadro de diálogo Combinar , seleccione una combinación externa izquierda y, a continuación, seleccione Generated-NYC-Taxi-Green-Discounts en la lista desplegable Derecha para combinar y, a continuación, seleccione el icono de "bombilla" en la parte superior derecha del cuadro de diálogo para ver la asignación sugerida de columnas entre las dos tablas.

    Captura de pantalla que muestra la configuración del cuadro de diálogo Combinar con asignaciones de columna sugeridas mostradas.

    Elija la asignación sugerida para asignar las columnas VendorID y date de ambas tablas. Cuando se agregan ambas asignaciones, los encabezados de columna coincidentes se resaltan en cada tabla.

  4. Se muestra un mensaje que le pide que permita combinar datos de varios orígenes de datos para ver los resultados. Seleccione Aceptar en el cuadro de diálogo Combinar .

    Captura de pantalla que muestra la solicitud para aprobar la combinación de datos de varios orígenes de datos, con el botón Aceptar resaltado.

  5. En el área de tabla, verá inicialmente una advertencia que indica que la información es necesaria sobre la privacidad de los datos. Seleccione Continuar para solucionar la advertencia.

    Captura de pantalla que muestra la advertencia sobre la combinación de datos de varios orígenes de datos con el botón Continuar resaltado.

  6. En este tutorial, seleccione Omitir comprobaciones de niveles de privacidad para este documento, ya que se trata de datos de ejemplo que no tienen información confidencial. Para sus propios orígenes de datos, establezca los niveles de privacidad adecuados para proteger sus datos confidenciales.

    Captura de pantalla que muestra el cuadro de diálogo de nivel de privacidad con la opción Omitir niveles de privacidad seleccionada.

  7. Haga clic en Guardar.

  8. Observe cómo se creó una nueva consulta en la vista Diagrama en la que se muestra la relación de la nueva consulta merge con las dos consultas que creó anteriormente. Al examinar el panel de tabla del editor, desplácese hacia la derecha de la lista de columnas de la consulta de combinación hasta ver una nueva columna con valores de tabla. Esta es la columna "Nyc Taxi-Green-Discounts" generada y su tipo es [Table]. En el encabezado de columna hay un icono con dos flechas que van en direcciones opuestas, lo que le permite seleccionar columnas de la tabla. Anule la selección de todas las columnas excepto Discount y, a continuación, seleccione Aceptar.

    Captura de pantalla que muestra la consulta combinada con el menú de selección de columna que se muestra para la columna recién generada Generated-NYC-Taxi-Green-Discounts.

  9. Con el valor de descuento ahora en el nivel de fila, podemos crear una nueva columna para calcular la cantidad total después del descuento. Para ello, seleccione la pestaña Agregar columna en la parte superior del editor y elija Columna personalizada en el grupo General .

    Captura de pantalla que muestra el botón Agregar columna personalizada resaltado en la sección General de la pestaña Agregar columna.

  10. En el cuadro de diálogo Columna personalizada , puede usar el lenguaje de fórmulas de Power Query (también conocido como M) para definir cómo se debe calcular la nueva columna. Escriba TotalAfterDiscount para el nombre de columna Nuevo, seleccione Moneda para el tipo de datos y proporcione la siguiente expresión M para la fórmula de columna Personalizada:

    si [totalAmount] > 0 entonces [totalAmount] * ( 1 -[Discount] ) sino [totalAmount]

    Después, seleccione Aceptar.

    Captura de pantalla que muestra la pantalla Configuración de columna personalizada con la fórmula Nuevo nombre de columna, Tipo de datos y Columna personalizada resaltada.

  11. Seleccione la columna TotalAfterDiscount recién creada y, a continuación, seleccione la pestaña Transformar en la parte superior de la ventana del editor. En el grupo Columna de Número, seleccione la lista desplegable Redondeo y, a continuación, elija Redondear....

    Captura de pantalla que muestra la opción

  12. En el cuadro de diálogo Redondeo, escriba 2 para el número de posiciones decimales y, a continuación, seleccione Aceptar.

    Captura de pantalla que muestra el cuadro de diálogo Round con 2 para el número de posiciones decimales y el botón Aceptar resaltado.

  13. Cambie el tipo de datos de IpepPickupDatetime de Date a Date/Time.

    Captura de pantalla que muestra la selección del tipo de datos Fecha y hora de la columna IpepPickupDatetime.

  14. Por último, expanda el panel Configuración de consulta desde el lado derecho del editor si aún no está expandido y cambie el nombre de la consulta de Combinación a Salida.

    Captura de pantalla que muestra el cambio de nombre de la consulta de Combinación a salida.

Carga de la consulta de salida en una tabla de Lakehouse

Con la consulta de salida ahora totalmente preparada y con los datos listos para la salida, podemos definir el destino de salida para la consulta.

  1. Seleccione la consulta de combinación de salida creada anteriormente. A continuación, seleccione la pestaña Inicio en el editor y Agregar destino de datos en la agrupación Consulta para seleccionar un destino de Lakehouse .

    Captura de pantalla que muestra el botón Agregar destino de datos con Lakehouse resaltado.

  2. En el cuadro de diálogo Conectar al destino de datos , la conexión ya debe estar seleccionada. Seleccione Next (Siguiente) para continuar.

  3. En el cuadro de diálogo Elija destino, vaya al Lakehouse donde desea cargar los datos y asigne el nombre a la nueva tabla nyc_taxi_with_discounts, y luego seleccione Siguiente nuevamente.

    Captura de pantalla que muestra el cuadro de diálogo Elegir destino con nombre de tabla nyc_taxi_with_discounts.

  4. En el cuadro de diálogo Elegir configuración de destino, puede usar la configuración automática o deseleccionar la configuración automática y dejar el método de actualización Reemplazar predeterminado, volver a comprobar que sus columnas están asignadas correctamente y seleccionar Guardar configuraciones.

    Captura de pantalla que muestra el cuadro de diálogo Elegir configuración de destino con el botón Guardar configuración resaltado.

  5. En la ventana principal del editor, confirme que ve el destino de salida en el panel Configuración de consulta de la tabla Salida en Destino de datos y, a continuación, seleccione Guardar*.

    Importante

    Cuando se crea el primer Flujo de datos Gen2 en un área de trabajo, se aprovisionan los elementos de almacén de lago y almacén junto con sus modelos semánticos y puntos de conexión de análisis SQL relacionados. Todos los flujos de datos del área de trabajo comparten estos elementos, que son necesarios para el funcionamiento de Flujo de datos Gen2, no deben eliminarse y los usuarios no deben utilizarlos directamente. Los elementos son un detalle de implementación de Flujo de datos Gen2. Los elementos no son visibles en el área de trabajo, pero pueden ser accesibles en otras experiencias como Notebook, punto de conexión SQL, almacén de lago y almacén. Puede reconocer los elementos por su prefijo en el nombre. El prefijo de los elementos es "DataflowsStaging".

  6. (Opcional) En la página del área de trabajo, puede cambiar el nombre del flujo de datos seleccionando los puntos suspensivos situados a la derecha del nombre del flujo de datos que aparece después de seleccionar la fila y seleccionando Configuración. En este ejemplo, se cambia el nombre a nyc_taxi_with_discounts.

    Captura de pantalla que muestra la opción Propiedades seleccionada en el menú de un flujo de datos donde se puede cambiar el nombre.

  7. Seleccione el icono de actualización del flujo de datos en el menú Más opciones y, cuando haya finalizado, debería ver su nueva tabla de Lakehouse creada según la configuración de Destino de datos.

    Captura de pantalla que muestra la selección del botón actualizar para actualizar el flujo de datos.

  8. Verifica tu Lakehouse para ver la nueva tabla cargada allí.

Paso siguiente

Continúe con la sección siguiente para integrar la canalización.