arrow_back

Cómo compilar transformaciones y preparar datos con Wrangler en Cloud Data Fusion

Unirse Acceder
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Cómo compilar transformaciones y preparar datos con Wrangler en Cloud Data Fusion

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Introductorio
Test and share your knowledge with our community!
done
Get access to over 700 hands-on labs, skill badges, and courses

Descripción general

La integración de datos se centra completamente en tus datos. Cuando trabajas con datos, es útil poder ver cómo lucen los datos sin procesar para que puedas usarlos como punto de partida para tu transformación. Con Wrangler, puedes adoptar un enfoque centrado en los datos en el flujo de trabajo de la integración de tus datos.

Las fuentes de datos más comunes para las aplicaciones de ETL (extraer, transformar y cargar) normalmente son datos almacenados en archivos de texto en formato de valores separados por comas (CSV), ya que muchos sistemas de bases de datos importan y exportan datos de esta forma. Para este lab, usarás un archivo CSV, pero se pueden aplicar las mismas técnicas a las fuentes de bases de datos y a cualquier otra fuente de datos que tengas disponible en Cloud Data Fusion.

Objetivos

En este lab, aprenderás a realizar las siguientes tareas:

  • Crear una canalización para transferir datos desde un archivo CSV
  • Usar Wrangler para aplicar transformaciones con interfaces interactivas y de la CLI

Durante la mayor parte de este lab, trabajarás con los Pasos de transformación de Wrangler, que el complemento Wrangler usa para que tus transformaciones se encapsulen en un solo lugar y puedas agrupar las tareas de transformación en bloques administrables. Con el enfoque centrado en los datos, podrás visualizar tus transformaciones con rapidez.

Configuración

En cada lab, recibirás un proyecto de Google Cloud y un conjunto de recursos nuevos por tiempo limitado y sin costo adicional.

  1. Accede a Google Cloud Skills Boost en una ventana de incógnito.

  2. Ten en cuenta el tiempo de acceso del lab (por ejemplo, 02:00:00) y asegúrate de finalizarlo en el plazo asignado.
    No existe una función de pausa. Si lo necesitas, puedes reiniciar el lab, pero deberás hacerlo desde el comienzo.

  3. Cuando tengas todo listo, haz clic en Comenzar lab.

    Nota: Después de que hagas clic en Comenzar lab, el lab tardará entre 15 y 20 minutos en aprovisionar los recursos necesarios y crear una instancia de Data Fusion. Durante ese período, puedes leer los pasos que se indican a continuación para familiarizarte con los objetivos del lab.

    Cuando veas las credenciales del lab (el nombre de usuario y la contraseña) en el panel del lado izquierdo, se habrá creado la instancia y podrás continuar para acceder a la consola.
  4. Anota las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.

  5. Haz clic en Abrir la consola de Google.

  6. Haz clic en Usar otra cuenta, copia las credenciales para este lab y pégalas en el mensaje emergente que aparece.
    Si usas otras credenciales, se generarán errores o incurrirás en cargos.

  7. Acepta las condiciones y omite la página de recursos de recuperación.

Nota: No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo. Esta acción borrará tu trabajo y quitará el proyecto.

Accede a la consola de Google Cloud

  1. En la pestaña o ventana del navegador que estás usando para esta sesión del lab, copia el Nombre de usuario del panel Detalles de la conexión y haz clic en el botón Abrir la consola de Google.
Nota: Si se te solicita que elijas una cuenta, haz clic en Usar otra cuenta.
  1. Cuando se te solicite, pega el nombre de usuario y, luego, la contraseña.
  2. Haz clic en Siguiente.
  3. Acepta los Términos y Condiciones.

Dado que esta es una cuenta temporal que tendrá la misma duración del lab, sigue estas recomendaciones:

  • No agregues opciones de recuperación.
  • No te registres para las pruebas gratuitas.
  1. Cuando se abra la consola, podrás ver la lista de servicios haciendo clic en el Menú de navegación (Ícono del menú de navegación) en la esquina superior izquierda.

Menú de navegación

Active Cloud Shell

Cloud Shell es una máquina virtual que contiene herramientas de desarrollo y un directorio principal persistente de 5 GB. Se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a sus recursos de Google Cloud. gcloud es la herramienta de línea de comandos de Google Cloud, la cual está preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.

  1. En el panel de navegación de Google Cloud Console, haga clic en Activar Cloud Shell (Ícono de Cloud Shell).

  2. Haga clic en Continuar.
    El aprovisionamiento y la conexión al entorno tardan solo unos momentos. Una vez que se conecte, también estará autenticado, y el proyecto estará configurado con su PROJECT_ID. Por ejemplo:

Terminal de Cloud Shell

Comandos de muestra

  • Si desea ver el nombre de cuenta activa, use este comando:

gcloud auth list

(Resultado)

Credentialed accounts: - <myaccount>@<mydomain>.com (active)

(Resultado de ejemplo)

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Si desea ver el ID del proyecto, use este comando:

gcloud config list project

(Resultado)

[core] project = <project_ID>

(Resultado de ejemplo)

[core] project = qwiklabs-gcp-44776a13dea667a6

Verifique los permisos del proyecto

Antes de comenzar a trabajar en Google Cloud, asegúrese de que su proyecto tenga los permisos correctos en Identity and Access Management (IAM).

  1. En el Menú de navegación (Ícono del menú de navegación) de Google Cloud Console, haga clic en IAM y administración > IAM.

  2. Confirme que aparezca la cuenta de servicio predeterminada de Compute {número-del-proyecto}-compute@developer.gserviceaccount.com, y que tenga asignado el rol Editor. El prefijo de la cuenta es el número del proyecto, que se encuentra en el Menú de navegación > Página principal.

Cuenta de servicio de Compute predeterminada

Si no aparece la cuenta en IAM o no tiene asignado el rol Editor, siga los pasos que se indican a continuación para asignar el rol necesario.

  • En el Menú de navegación de Google Cloud Console, haga clic en Página principal.

  • Copie el número del proyecto (p. ej., 729328892908).

  • En el Menú de navegación, haga clic en IAM y administración > IAM.

  • En la parte superior de la página IAM, haga clic en Agregar.

  • En Principales nuevas, escriba lo siguiente:

{número-del-proyecto}-compute@developer.gserviceaccount.com

Reemplace {número-del-proyecto} por el número de su proyecto.

  • En Rol, seleccione Proyecto (o Básico) > Editor. Haga clic en Guardar.

Tarea 1. Agrega los permisos necesarios para tu instancia de Cloud Data Fusion

  1. En el menú de navegación de la consola de Google Cloud, selecciona Data Fusion > Instancias.
Nota: La creación de la instancia tardará alrededor de 10 minutos. Espera a que esté lista.

Luego, otorgarás permisos a la cuenta de servicio asociada con la instancia siguiendo estos pasos:

  1. En la consola de Google Cloud, navega a IAM y administración > IAM.

  2. Verifica que la cuenta de servicio predeterminada de Compute Engine, {project-number}-compute@developer.gserviceaccount.com, esté presente y copia la Cuenta de servicio en tu portapapeles.

  3. En la página Permisos de IAM, haz clic en +Otorgar acceso.

  4. En el campo Principales nuevas, pega la cuenta de servicio.

  5. Haz clic en el campo Selecciona un rol, escribe “Agente de servicio de la API de Cloud Data Fusion” y selecciónalo.

  6. Haz clic en Guardar.

Haz clic en Revisar mi progreso para verificar el objetivo. Agregar el rol Agente de servicio de la API de Cloud Data Fusion a la cuenta de servicio

Otorgue permiso de usuario a la cuenta de servicio

  1. En Console, navegue a IAM y administración > IAM.

  2. Seleccione la casilla de verificación junto a Incluir asignaciones de roles proporcionadas por Google.

Imagen

  1. Desplácese hacia abajo en la lista hasta encontrar la cuenta de servicio de Cloud Data Fusion administrada por Google que tiene el formato service-{project-number}@gcp-sa-datafusion.iam.gserviceaccount.com. Luego, cópiela en el portapapeles.

Imagen

  1. Después, navegue a IAM y administración > Cuentas de servicio.

  2. Haga clic en la cuenta predeterminada de Compute Engine que tiene el formato {project-number}-compute@developer.gserviceaccount.com y seleccione la pestaña PERMISOS en la barra de navegación superior.

  3. Haga clic en el botón OTORGAR ACCESO.

  4. En el campo Principales nuevas, pegue la cuenta de servicio que copió antes.

  5. En el menú desplegable Rol, seleccione Usuario de cuentas de servicio.

  6. Haga clic en Guardar.

Tarea 2. Carga los datos

A continuación, crearás un bucket de Cloud Storage en tu proyecto para que puedas cargar algunos datos de muestra para la transformación. Más adelante, Cloud Data Fusion leerá los datos de este bucket de almacenamiento.

  1. En Cloud Shell, ejecuta los siguientes comandos para crear un bucket nuevo:
export BUCKET=$GOOGLE_CLOUD_PROJECT gcloud storage buckets create gs://$BUCKET

El nombre del bucket creado es el ID de tu proyecto.

  1. Ejecuta el comando para copiar el archivo de datos (un archivo CSV) en tu bucket:
gcloud storage cp gs://cloud-training/OCBL163/titanic.csv gs://$BUCKET

Haz clic en Revisar mi progreso para verificar el objetivo. Cargar los datos

Ahora, puedes avanzar.

Tarea 3. Navega por la IU de Cloud Data Fusion

En la IU de Cloud Data Fusion, puedes usar las diversas páginas, como Pipeline Studio o Wrangler, para usar las funciones de Cloud Data Fusion.

Para navegar por la IU de Cloud Data Fusion, sigue estos pasos:

  1. En la consola, regresa al menú de navegación > Data Fusion.
  2. Haz clic en el vínculo Ver instancia junto a tu instancia de Data Fusion.
  3. Selecciona las credenciales del lab para acceder.

Si se te solicita hacer una visita guiada por el servicio, haz clic en No, gracias. Ahora deberías estar en la IU de Cloud Data Fusion.

La IU web de Cloud Data Fusion cuenta con su propio panel de navegación (en el lado izquierdo) para que vayas a la página que necesites.

  1. En la IU de Cloud Data, haz clic en el menú de navegación que se encuentra en la esquina superior izquierda para exponer el panel de navegación.
  2. Luego, elige Wrangler.

Tarea 4. Trabaja con Wrangler

Wrangler es una herramienta interactiva visual que te permite ver los efectos de las transformaciones en un subconjunto pequeño de tus datos antes de despachar trabajos grandes de procesamiento paralelo en todo el conjunto de datos.

  1. Cuando Wrangler se cargue, al costado izquierdo, habrá un panel con las conexiones previamente configuradas de tus datos, que incluyen la conexión de Cloud Storage.

  2. En GCS, selecciona Cloud Storage Default.

  3. Haz clic en el bucket que corresponde al ID de tu proyecto.

  4. Haz clic en titanic.csv.

  5. En las opciones de análisis, selecciona el formato text en el menú desplegable.

parseoption.png

  1. Haz clic en Confirmar. Los datos se cargan en Wrangler.

ParseCSV4.png

  1. La primera operación es analizar los datos CSV sin procesar en una representación tabular que se divide en filas y columnas. Para hacerlo, debes seleccionar el ícono del menú desplegable del encabezado de la primera columna, luego, seleccionar el elemento Parse del menú y CSV en el menú secundario.

Menú desplegable expandido

  1. En los datos sin procesar, podemos ver que la primera fila consta de encabezados de columnas, así que debes seleccionar la opción Set first row as header en el cuadro de diálogo Parse as CSV que se te presenta y, luego, hacer clic en Apply.

  2. En esta fase, los datos sin procesar están analizados y puedes ver las columnas generadas por esta operación a la derecha de la columna body.

  3. Ya no necesitas la columna body, así que para quitarla, selecciona el ícono del menú desplegable junto al encabezado de la columna body y luego selecciona el elemento de menú Borrar columna.

Nota: Para aplicar transformaciones, también puedes usar la interfaz de línea de comandos (CLI). La CLI es la barra negra en la parte inferior de la pantalla (con el prompt $ de color verde). Cuando comiences a escribir comandos, se iniciará la función de autocompletar que te mostrará una opción de concordancia. Por ejemplo, para quitar la columna body, podrías haber usado de forma alternativa la directiva: drop: body.

directiva drop

  1. Haz clic en la pestaña Transformation steps en el lado derecho de la IU de Wrangler. Verás las dos transformaciones que aplicaste hasta ahora.
Nota: Tanto las selecciones de menú como la CLI crean directivas que son visibles en la pestaña Transformation steps en el lado derecho de la pantalla. Las directivas son transformaciones individuales que se denominan en conjunto “receta”.

Más adelante en el lab, agregarás más pasos de transformación con la CLI.

A medida que apliques pasos de transformación a tu conjunto de datos, las transformaciones afectarán a la muestra de datos y proporcionarán indicadores visuales que se pueden explorar con el navegador Insights.

  1. Haz clic en la pestaña Insights que está en el centro de la parte superior para ver cómo se distribuyen los datos entre las diferentes columnas.

Página con la pestaña Insights

  1. Explora la interfaz para descubrir nuevas formas de analizar tus datos. Arrastra y suelta el campo Age en la codificación x para ver cómo cambian las perspectivas de los datos.

Página con la pestaña Insights

  1. Puedes hacer clic en el botón Create Pipeline para hacer la transición al modo de desarrollo de la canalización, en el que puedes verificar las directivas que creaste en el complemento Wrangler.

createpipline15.png

  1. Cuando se te presente el próximo diálogo, selecciona Batch pipeline para continuar.

batch16.png

  1. Cuando se abra Pipeline Studio, apunta al nodo Wrangler y haz clic en Properties.

  2. Ve a Directivas y revisa la receta de directivas que agregaste anteriormente. En la siguiente sección, agregarás más pasos de transformación con la CLI.

 Sección Directivas

Tarea 5. Trabaja con pasos de transformación

En esta sección, continuarás trabajando en la IU de Wrangler para explorar el conjunto de datos CSV y aplicar transformaciones con la CLI.

  1. Haz clic en el botón Wrangle debajo de la sección Directivas del cuadro Properties de tu nodo de Wrangler. Regresarás a la IU de Wrangler.

  2. Haz clic en Transformation steps en el lado derecho de la IU de Wrangler para exponer las directivas. Verifica que actualmente tengas dos pasos de transformación.

Ahora, agregarás más pasos de transformación con la CLI y verás cómo modifican los datos. La CLI es la barra negra en la parte inferior de la pantalla (con el prompt $ de color verde).

  1. Copia las directivas y pégalas en tu CLI en el prompt $. Verás que Transformation steps se actualiza en el lado derecho de tu pantalla.
fill-null-or-empty :Cabin 'none' send-to-error empty(Age) parse-as-csv :Name ',' false drop Name fill-null-or-empty :Name_2 'none' rename Name_1 Last_Name rename Name_2 First_Name set-type :PassengerId integer parse-as-csv :First_Name '.' false drop First_Name drop First_Name_3 rename First_Name_1 Salutation fill-null-or-empty :First_Name_2 'none' rename First_Name_2 First_Name send-to-error !dq:isNumber(Age) || !dq:isInteger(Age) || (Age == 0 || Age > 125) set-type :Age integer set-type :Fare double set-column Today_Fare (Fare * 23.4058)+1 generate-uuid id mask-shuffle First_Name

A continuación, se encuentra una explicación de lo que las directivas les hacen a tus datos. NO las ingreses de nuevo en la CLI porque ya lo hiciste.

a. fill-null-or-empty :Cabin 'none' corrige la columna Cabin para que esté 100% completa.

b. send-to-error empty(Age) corrige la columna Age para que no hayan celdas vacías.

c. parse-as-csv :Name ',' false divide las columnas Name en dos columnas separadas que contienen el nombre y el apellido.

d. rename Name_1 Last_Name y rename Name_2 First_Name les cambian el nombre a las columnas creadas recientemente de Name_1 y Name_2 a Last_Name y First_Name.

e. drop Name quita la columna Name porque ya no es necesaria.

f. set-type :PassengerId integer convierte la columna PassengerId en un número entero.

g. Las directivas extraen el saludo de la columna First_Name, borran la columna redundante y les cambian el nombre a las columnas creadas recientemente según corresponde:

parse-as-csv :First_Name '.' false drop First_Name drop First_Name_3 rename First_Name_1 Salutation fill-null-or-empty :First_Name_2 'none' rename First_Name_2 First_Name

h. La directiva send-to-error !dq:isNumber(Age) || !dq:isInteger(Age) || (Age == 0 || Age > 125) realiza verificaciones de calidad de los datos en la columna Age, mientras que set-type :Age integer la establece como columna Integer.

i. set-type :Fare double convierte la columna Fare en Double para que puedas realizar aritmética con los valores de la columna.

j. set-column Today_Fare (Fare * 23.4058)+1 multiplica la columna Fare por la tasa de inflación del dólar desde 1912 para obtener el valor del dólar ajustado.

k. generate-uuid id crea una columna de identidad para identificar de manera inequívoca cada registro.

l. mask-shuffle First_Name enmascarará la columna Last_Name para desidentificar a la persona, es decir, la PII.

  1. Haz clic en el vínculo More en la parte superior derecha arriba de Transformation steps y, luego, haz clic en View Schema para examinar el esquema que generaron las transformaciones. Después, haz clic en el ícono de descargar para descargarlo en tu computadora.

    Lista de esquemas generada por la transformación

  2. Haz clic en X para cerrar la página Schema.

  3. Puedes hacer clic en el ícono de descargar debajo de Transformation steps para descargar la receta de directivas en tu computadora y conservar una copia de los pasos de transformación para usarlos en el futuro.

    Ícono de descarga destacado en la página Transformation steps

  4. Haz clic en el botón Apply de la parte superior derecha para asegurarte de que todos los pasos de transformación ingresados se agreguen a la configuración del nodo de Wrangler. Luego, se te redireccionará al cuadro de propiedades del nodo de Wrangler.

  5. Haz clic en X para cerrarlo. Volverás a Pipeline Studio.

Tarea 6. Transfiere los datos a BigQuery

Para transferir los datos a BigQuery, crea un conjunto de datos.

  1. En una nueva pestaña, abre BigQuery en la consola de Google Cloud o haz clic con el botón derecho en la pestaña de la consola de Google Cloud y selecciona Duplicar y, luego, usa el menú de navegación para seleccionar BigQuery. Si se te solicita, haz clic en Listo.

  2. En el panel del Explorador, haz clic en el ícono de Ver acciones junto al ID de tu proyecto (que comienza con qwiklabs) y, luego, selecciona Crear conjunto de datos.

    Panel del Explorador con el ícono de Ver acciones y la opción Crear conjunto de datos destacados

a. ID del conjunto de datos: demo_cdf

b. Haz clic en Crear conjunto de datos. Anota el nombre para usarlo más adelante en el lab.

  1. Regresa a la pestaña de la IU de Cloud Data Fusion

a. Para agregar el receptor de BigQuery a la canalización, navega a la sección Receptor en el panel de la izquierda y haz clic en el ícono de BigQuery para ponerlo en el lienzo.

b. Cuando el receptor de BigQuery se haya ubicado en el lienzo, conecta el nodo de Wrangler con el nodo de BigQuery. Para hacerlo, arrastra la flecha desde el nodo de Wrangler y conéctalo al nodo de BigQuery como se muestra.

Nodos de GCSFile, Wrangler y BigQuery en el lienzo

c. Coloca el cursor del mouse sobre el nodo de BigQuery, haz clic en Propiedades e ingresa los siguientes parámetros de configuración:

Campo Valor
Nombre de referencia DemoSink
ID del proyecto del conjunto de datos El ID de tu proyecto
Conjunto de datos demo_cdf (el conjunto de datos que creaste en el paso anterior)
Tabla Ingresa un nombre apropiado (como titanic)

La tabla se creará automáticamente.

d. Haz clic en el botón Validar para verificar si todo se configuró de forma correcta.

e. Haz clic en X para cerrarlo. Volverás a Pipeline Studio.

  1. Ya está todo listo para ejecutar tu canalización.

a. Asígnale un nombre a tu canalización (como DemoBQ).

b. Haz clic en Guardar y, luego, haz clic en Implementar en la parte superior derecha para implementar la canalización.

c. Haz clic en Ejecutar para iniciar la ejecución de la canalización. Puedes hacer clic en el ícono Resumen para conocer algunas estadísticas.

Cuando se complete la ejecución, el estado cambiará a Sin errores. Regresa a la consola de BigQuery para consultar tus resultados.

Estado: Sin errores

Haz clic en Revisar mi progreso para verificar el objetivo. Transferir datos a BigQuery

¡Felicitaciones!

En este lab, exploraste la IU de Wrangler. Aprendiste a agregar pasos de transformación (directivas) a través del menú y de la CLI. Wrangler te permite aplicar varias transformaciones potentes a tus datos de forma iterativa. Además, puedes usar la IU de Wrangler para ver cómo afecta al esquema de tus datos antes de que implementes y ejecutes tu canalización.

Finalice su lab

Cuando haya completado su lab, haga clic en Finalizar lab. Qwiklabs quitará los recursos que usó y limpiará la cuenta por usted.

Tendrá la oportunidad de calificar su experiencia en el lab. Seleccione la cantidad de estrellas que corresponda, ingrese un comentario y haga clic en Enviar.

La cantidad de estrellas indica lo siguiente:

  • 1 estrella = Muy insatisfecho
  • 2 estrellas = Insatisfecho
  • 3 estrellas = Neutral
  • 4 estrellas = Satisfecho
  • 5 estrellas = Muy satisfecho

Puede cerrar el cuadro de diálogo si no desea proporcionar comentarios.

Para enviar comentarios, sugerencias o correcciones, use la pestaña Asistencia.

Copyright 2020 Google LLC. All rights reserved. Google y el logotipo de Google son marcas de Google LLC. Los demás nombres de productos y empresas pueden ser marcas de las respectivas empresas a las que estén asociados.