Módulo 2: Transformación de datos con un flujo de datos en Data Factory
Este módulo tarda unos 25 minutos en crear un flujo de datos, aplicar transformaciones y mover los datos sin procesar de la tabla Bronze a una tabla Gold de Lakehouse.
Con los datos sin procesar cargados en la tabla Bronze de Lakehouse del último módulo, ahora puede preparar esos datos y enriquecerlos combinándolos con otra tabla que contiene descuentos para cada proveedor y sus viajes durante un día determinado. Esta tabla Gold final de Lakehouse final se carga y está lista para su consumo.
Los pasos generales del flujo de datos son los siguientes:
- Obtenga datos sin procesar de la tabla de Lakehouse creada por el actividad de copia en el Módulo 1: Creación de una canalización con Data Factory.
- Transforme los datos importados desde la tabla de Lakehouse.
- Conéctese a un archivo CSV que contenga datos de descuentos.
- Transforme los datos de descuentos.
- Combine los datos de viajes y descuentos.
- Cargue la consulta de salida en la tabla Gold de Lakehouse.
Obtención de datos de una tabla de Lakehouse
En la barra lateral, seleccione Crear y, a continuación, Dataflow Gen2 para crear un nuevo flujo de datos gen2.
En el nuevo menú de flujo de datos, seleccione Obtener datos y, a continuación, Más....
Busque y seleccione el conector de Lakehouse.
Aparece el cuadro de diálogo Conectar al 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.
Aparece el cuadro de diálogo Seleccionar datos. Use el panel de navegación para buscar la instancia de Lakehouse que creó para el destino en el módulo anterior y seleccione la tabla de datos Tutorial_Lakehouse.
(Opcional) Una vez que el lienzo se rellena con los datos, puede establecer la información del perfil de columna, ya que esto resulta útil para la generación de perfiles de datos. Puede aplicar la transformación correcta y dirigirse a los valores de datos correctos en función de ello.
Para hacerlo, seleccione Opciones en el panel de la cinta de opciones, seleccione las tres primeras opciones en Perfil de columna y, a continuación, seleccione Aceptar.
Transformación de los datos importados desde Lakehouse
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 .
(Opcional) En la pestaña Inicio de la cinta de opciones, seleccione la opción Elegir columnas del grupo Administrar columnas.
(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
- pickupLatitude
- dropoffLongitude
- rateCodeID
Seleccione el menú desplegable de filtro y ordenación de la columna storeAndFwdFlag. (Si ve una advertencia de que La lista puede estar incompleta, seleccione Cargar más para ver todos los datos).
Seleccione "Y" para mostrar solo las filas en las que se aplicó un descuento y, a continuación, seleccione Aceptar.
Selecciona el menú desplegable de ordenación y filtro de la columna Ipep_Pickup_Datetime, selecciona Filtros de fecha y elige el filtro Entre... proporcionado para los tipos Fecha y hora.
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.
Conexión a un archivo CSV que contiene datos de descuento
Ahora, 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.
En la pestaña Inicio del menú del editor del flujo de datos, seleccione la opción Obtener datos y, a continuación, elija Texto/CSV.
En el cuadro de diálogo Conectarse al origen de datos, proporcione los detalles siguientes:
- URL o ruta del archivo -
https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
- Tipo de autenticación: anónimo
Seleccione Siguiente.
- URL o ruta del archivo -
En el cuadro de diálogo Vista previa de los datos del archivo, seleccione Crear.
Transformación de los datos de descuento
Al revisar los datos, vemos que los encabezados parecen estar en la primera fila. Para promoverlos a los 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.
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 a los tipos de datos de las columnas.
Haga clic con el botón derecho en la columna VendorID y, en el menú contextual que se muestra, seleccione la opción Anular dinamización de otras columnas. Esto le permite transformar columnas en pares de valor de atributo, donde las columnas se convierten en filas.
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.
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.
Seleccione la columna Descuento y, a continuación, seleccione la pestaña Transformar en el menú. Seleccione la columna Número y, a continuación, seleccione Transformaciones numéricas Estándar en el submenú y elija Dividir.
En el cuadro de diálogo Dividir, escriba el valor 100.
Combinar los datos de viajes y 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.
En primer lugar, cambie el botón Vista de diagrama para que pueda ver ambas consultas.
Seleccione la consulta nyc_taxi y, en la pestaña Inicio, seleccione el menú Combinar y elija Combinar consultas y, después, Combinar consultas como nuevas.
En el cuadro de diálogo Combinar, seleccione Generated-NYC-Taxi-Green-Discounts en la lista desplegable Tabla adecuada para la fusión 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.
Elija cada una de las dos asignaciones de columna sugeridas, una a la vez, asignando las columnas VendorID y Date de ambas tablas. Cuando se agregan ambas asignaciones, los encabezados de columna coincidentes se resaltan en cada tabla.
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.
En el área de tabla, verá inicialmente una advertencia que indica que "La evaluación se canceló porque la combinación de datos de varios orígenes puede revelar datos de un origen a otro. Seleccione Continuar si la posibilidad de revelar datos no representa un problema". Seleccione Continuar para mostrar los datos combinados.
Observe cómo se creó una nueva consulta en la Vista de diagrama en la que se muestra la relación de la nueva consulta Combinar con las dos consultas que creó anteriormente. Al examinar el panel de tabla del editor, desplácese a la derecha de la lista de columnas de consulta Combinar para ver una nueva columna con valores de tabla. Se trata de la columna "Generated NYC Taxi-Green-Discounts" 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 Descuento y, a continuación, seleccione Aceptar.
Con el valor de descuento ahora en el nivel de fila, podemos crear una nueva columna para calcular el importe 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.
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 en Nuevo nombre de columna, seleccione Moneda en Tipo de datos y proporcione la siguiente expresión M para laFfórmula de columna Personalizada:
if [totalAmount] > 0 then [totalAmount] * ( 1 -[Discount] ) else [totalAmount]
A continuación, seleccione Aceptar.
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 Número de columnas, seleccione la lista desplegable Redondeo y, a continuación, elija Redondear....
En el cuadro de diálogo Redondear, escriba 2 para el número de posiciones decimales y, a continuación, seleccione Aceptar.
Cambie el tipo de datos de IpepPickupDatetime de Date a Date/Time.
Por último, expanda el panel Configuración de consultas desde el lado derecho del editor si aún no está expandido y cambie el nombre de la consulta de Combinar 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 de la consulta.
Seleccione la consulta combinar 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.
En el cuadro de diálogo Conectar al destino de datos, la conexión ya debe estar seleccionada. Seleccione Siguiente para continuar.
En el cuadro de diálogo Elegir destino de destino, vaya a la instancia de Lakehouse donde desea cargar los datos y asigne un nombre a la nueva tabla nyc_taxi_with_discounts y, a continuación, seleccione Siguiente de nuevo.
En el cuadro de diálogo Elegir configuración de destino, deje el método de actualización Reemplazar predeterminado, compruebe que las columnas están asignadas correctamente y seleccione Guardar configuración.
De nuevo en la ventana principal del editor, confirme que ve el destino de salida en el panel Configuración de consultas de la tabla Salida y, a continuación, seleccione Publicar.
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 Dataflow 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".
(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 Propiedades.
Seleccione el icono de actualización del flujo de datos después de seleccionar su fila y, cuando haya finalizado, debería ver la nueva tabla de Lakehouse creada como configurada en la configuración de Destino de datos.
Compruebe la instancia de Lakehouse para ver la nueva tabla cargada allí.
Contenido relacionado
En este segundo módulo de nuestro tutorial completo para su primera integración de datos mediante Data Factory en Microsoft Fabric, ha aprendido a:
- Cree un nuevo flujo de datos Gen2.
- Importe y transforme datos de ejemplo.
- Importe y transforme datos de texto/CSV.
- Combine datos de ambos orígenes de datos en una nueva consulta.
- Transforme los datos y genere nuevas columnas en una consulta.
- Configure un origen de destino de salida para una consulta.
- Cambie el nombre y actualice el nuevo flujo de datos.
Continúe con la sección siguiente para integrar la canalización de datos.