
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Create Cloud Composer environment.
/ 25
Create two Cloud Storage buckets.
/ 25
Create a dataset.
/ 25
Uploading the DAG and dependencies to Cloud Storage
/ 25
Imagina que tienes conjuntos de datos en diferentes ubicaciones del mundo y que estos datos se encuentran en buckets de Google Cloud Storage o en tablas de BigQuery. ¿Cómo puedes organizarlos para que se consoliden y analicen para proporcionar estadísticas sobre tu negocio?
Cloud Composer puede ayudarte a crear flujos de trabajo y trasladar tus datos entre regiones y sistemas de almacenamiento con una vista gráfica intuitiva. Entre otros beneficios, cuenta con plantillas para transferir datos entre BigQuery y Cloud Storage de forma sencilla y confiable.
En este lab, crearás y ejecutarás un flujo de trabajo de Apache Airflow en Cloud Composer que completará las siguientes tareas:
En este lab, aprenderás a realizar las siguientes tareas:
Lee estas instrucciones. Los labs son cronometrados y no se pueden pausar. El cronómetro, que comienza a funcionar cuando haces clic en Comenzar lab, indica por cuánto tiempo tendrás a tu disposición los recursos de Google Cloud.
Este lab práctico te permitirá realizar las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, se te proporcionan credenciales temporales nuevas que utilizarás para acceder a Google Cloud durante todo el lab.
Para completar este lab, necesitarás lo siguiente:
Haga clic en el botón Comenzar lab. Si debe pagar por el lab, se abrirá una ventana emergente para que seleccione su forma de pago. A la izquierda, se encuentra el panel Detalles del lab, que tiene estos elementos:
Haz clic en Abrir la consola de Google Cloud (o haz clic con el botón derecho y selecciona Abrir el vínculo en una ventana de incógnito si ejecutas el navegador Chrome).
El lab inicia recursos y abre otra pestaña en la que se muestra la página de acceso.
Sugerencia: Ordene las pestañas en ventanas separadas, una junto a la otra.
De ser necesario, copia el nombre de usuario a continuación y pégalo en el diálogo Acceder.
También puedes encontrar el nombre de usuario en el panel Detalles del lab.
Haz clic en Siguiente.
Copia la contraseña que aparece a continuación y pégala en el diálogo Te damos la bienvenida.
También puedes encontrar la contraseña en el panel Detalles del lab.
Haz clic en Siguiente.
Haga clic para avanzar por las páginas siguientes:
Después de un momento, se abrirá la consola de Google Cloud en esta pestaña.
Cloud Shell es una máquina virtual que cuenta con herramientas para desarrolladores. Ofrece un directorio principal persistente de 5 GB y se ejecuta en Google Cloud. Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.
Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. El resultado contiene una línea que declara el PROJECT_ID para esta sesión:
gcloud
es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con la función de autocompletado con tabulador.
Haz clic en Autorizar.
Ahora, el resultado debería verse de la siguiente manera:
Resultado:
Resultado:
Resultado de ejemplo:
gcloud
, consulta la guía con la descripción general de gcloud CLI en Google Cloud.
Para crear un entorno de Cloud Composer, escribe Composer en el campo de búsqueda de la barra del título de la consola de Google Cloud y, luego, haz clic en Composer en la sección Productos y páginas.
Luego, haz clic en Crear entorno.
En el menú desplegable, selecciona Composer 3.
Configura los siguientes parámetros para tu entorno:
Nombre: composer-advanced-lab
Ubicación:
Versión de la imagen: composer-3-airflow-n.n.n-build.n (selecciona la imagen con el número más alto que esté disponible)
En Recursos del entorno, selecciona Pequeño.
Haz clic en el menú desplegable de Mostrar configuración avanzada y selecciona Zona de la base de datos de Airflow como
Deja el resto de la configuración con sus valores predeterminados.
El proceso de creación del entorno se completa cuando, en la página Entornos de la consola de Cloud, la marca de verificación verde aparece a la izquierda del nombre del entorno.
Crea buckets de Cloud Storage y conjuntos de datos de destino de BigQuery
.Haz clic en Revisar mi progreso para verificar el objetivo.
En esta tarea, crearás dos buckets multirregionales de Cloud Storage. Estos buckets se usarán para copiar las tablas exportadas entre las distintas ubicaciones; p. ej., de EE.UU. a la UE.
Aplicar la prevención de acceso público a este bucket
y haz clic en Confirmar en la ventana emergente Se impedirá el acceso público
si se solicita.Repite los pasos para crear otro bucket en la región EU
. El nombre único debe incluir la ubicación como sufijo de tu bucket (p. ej.,
Haz clic en Revisar mi progreso para verificar el objetivo.
Crea el conjunto de datos de destino de BigQuery en la UE desde la nueva IU web de BigQuery.
Ve a Menú de navegación > BigQuery.
Se abrirá el cuadro de mensaje Te damos la bienvenida a BigQuery en la consola de Cloud, que contiene un vínculo a la guía de inicio rápido y enumera las actualizaciones de la IU.
Haz clic en Listo.
Luego, haz clic en los tres puntos junto al ID del proyecto de Qwiklabs y selecciona Crear conjunto de datos.
Haz clic en Revisar mi progreso para verificar el objetivo.
Airflow es una plataforma para crear, programar y supervisar flujos de trabajo de forma programática.
Utiliza Airflow para crear flujos de trabajo como grafos acíclicos dirigidos (DAG) de tareas. El programador de Airflow ejecuta tus tareas en un array de trabajadores mientras sigue las dependencias especificadas.
DAG: Un grafo acíclico dirigido es una colección de tareas organizadas para reflejar sus relaciones y dependencias.
Operador: Es la descripción de una sola tarea; suele ser atómico. Por ejemplo, BashOperator se usa para ejecutar el comando Bash.
Tarea: Es una instancia con parámetros de un operador; un nodo en el DAG.
Instancia de tarea: Es la ejecución específica de una tarea, caracterizada como un DAG, una tarea y un momento determinado. Tiene un estado indicativo: running, success, failed, skipped, …
Obtén más información sobre los conceptos de Airflow en la documentación de los conceptos.
Los flujos de trabajo de Cloud Composer constan de DAG (grafos acíclicos dirigidos). El código que aparece en bq_copy_across_locations.py es el código del flujo de trabajo, también conocido como DAG. Abre el archivo para ver cómo se conforma. Luego, podrás conocer algunos de los componentes clave del archivo.
Para organizar todas las tareas del flujo de trabajo, el DAG importa los siguientes operadores:
DummyOperator
: Crea tareas iniciales y finales ficticias para una mejor representación visual del DAG.BigQueryToCloudStorageOperator
: Exporta tablas de BigQuery a buckets de Cloud Storage con el formato Avro.GoogleCloudStorageToGoogleCloudStorageOperator
: Copia los archivos entre los buckets de Cloud Storage.GoogleCloudStorageToBigQueryOperator
: Importa tablas desde archivos Avro al bucket de Cloud Storage.read_master_file()
de modo que se pueda leer el archivo de configuración y crear la lista de tablas para copiarla:bq_copy_us_to_eu_01
. No se programó el DAG de forma predeterminada, de modo que se lo debe activar manualmente.Cloud StoragePlugin(AirflowPlugin)
y se asignan el hook y el operador descargados desde la rama 1.10-stable de Airflow.Vuelve a Composer para comprobar el estado de tu entorno.
Una vez que se haya creado tu entorno, haz clic en el nombre para ver sus detalles.
La página Detalles del entorno brinda información como la URL de la IU web de Airflow, el ID de clúster de Google Kubernetes Engine y el nombre del bucket de Cloud Storage conectado a la carpeta de DAG.
Se deben completar los siguientes pasos en Cloud Shell.
Se utilizan entornos virtuales de Python para aislar del sistema la instalación de paquetes.
virtualenv
: -composer-advanced-YOURDAGSBUCKET-bucket
(YOURDAGSBUCKET-bucket).En este lab, deberás usar esta variable algunas veces.
Las variables de Airflow son un concepto específico de Airflow que difiere de las variables de entorno. En este paso, establecerás las siguientes tres variables de Airflow que utiliza el DAG que implementaremos: table_list_file_path
, gcs_source_bucket
y gcs_dest_bucket
.
Clave | Valor | Detalles |
---|---|---|
table_list_file_path |
/home/airflow/gcs/dags/bq_copy_eu_to_us_sample.csv | Archivo CSV que indica las tablas de origen y destino, incluido el conjunto de datos |
gcs_source_bucket |
{ID ÚNICO}-us | Bucket de Cloud Storage para exportar tabledest_bbucks de BigQuery desde el origen |
gcs_dest_bucket |
{ID ÚNICO}-eu | Bucket de Cloud Storage para importar tablas de BigQuery en el destino |
El siguiente comando de gcloud composer
ejecuta las variables del subcomando de la CLI de Airflow. El subcomando pasa los argumentos a la herramienta de línea de comandos de gcloud
.
Para establecer las tres variables, ejecutarás composer command
una vez por cada fila de la tabla anterior. Esta es la forma del comando:
(ERROR: gcloud crashed (TypeError): 'NoneType' object is not callable)
. Este es un problema conocido relacionado con el uso de entornos de Composer de gcloud que se ejecutaron
con la versión 410.0.0 de gcloud. Tus variables se definirán según corresponda así te aparezca este mensaje de error.
ENVIRONMENT_NAME
es el nombre del entorno.LOCATION
es la región de Compute Engine en la que se encuentra el entorno. Para el comando de gcloud composer, debes incluir la marca --location
o configurar la ubicación predeterminada antes de ejecutar el comando de gcloud.KEY
y VALUE
especifican la variable y su valor para configurarla. Incluye un espacio, dos guiones y un espacio ( --
) entre los argumentos relacionados con el comando de gcloud
a la izquierda y los argumentos relacionados con el subcomando de Airflow a la derecha. Además, incluye un espacio entre los argumentos de KEY
y VALUE
; usa el comando gcloud composer environments run
con el subcomando de las variables.Ejecuta estos comandos en Cloud Shell. Para ello, reemplaza gcs_source_bucket
y gcs_dest_bucket
por los nombres de los buckets que creaste en la tarea 2.
Para ver el valor de una variable, ejecuta las variables de subcomando de la CLI de Airflow con el argumento get
o usa la IU de Airflow.
Por ejemplo, ejecuta lo siguiente:
Cloud Composer registra automáticamente el DAG en tu entorno de Airflow, y los cambios en el DAG tardan de 3 a 5 minutos. Puedes ver el estado de la tarea en la interfaz web de Airflow y confirmar que el DAG no esté programado según la configuración.
Sigue estos pasos para acceder a la interfaz web de Airflow con la consola de Cloud:
Las variables que configuraste anteriormente se conservan en tu entorno.
Haz clic en la pestaña DAG y espera a que se terminen de cargar los vínculos.
Para activar el DAG de forma manual, haz clic en el botón de reproducción de composer_sample_bq_copy_across_locations
:
Haz clic en Revisar mi progreso para verificar el objetivo.
Cuando subas tu archivo DAG a la carpeta de DAG en Cloud Storage, Cloud Composer analizará el archivo. Si no se detectan errores, aparecerá el nombre del flujo de trabajo en la lista de DAG, y se pondrá el flujo de trabajo en cola para que se lo ejecute inmediatamente, siempre y cuando se cumplan las condiciones del programa (en este caso, la configuración debe ser “Ninguna”).
El estado de las ejecuciones se pondrá verde cuando presiones el botón de reproducción:
Para volver a ejecutar el flujo de trabajo desde la vista del Grafo, haz lo siguiente:
Actualiza el navegador mientras se ejecuta el proceso para ver la información más reciente.
Para comprobar el estado y los resultados del flujo de trabajo, dirígete a estas páginas de la consola de Cloud:
Copiaste las tablas de forma programática de EE.UU. a la UE. Este lab se basa en esta entrada de blog de David Sabater Dinter.
Recibe la formación que necesitas para aprovechar al máximo las tecnologías de Google Cloud. Nuestras clases incluyen habilidades técnicas y recomendaciones para ayudarte a avanzar rápidamente y a seguir aprendiendo. Para que puedas realizar nuestros cursos cuando más te convenga, ofrecemos distintos tipos de capacitación de nivel básico a avanzado: a pedido, presenciales y virtuales. Las certificaciones te ayudan a validar y demostrar tus habilidades y tu conocimiento técnico respecto a las tecnologías de Google Cloud.
Última actualización del manual: 21 de junio de 2024
Prueba más reciente del lab: 21 de junio de 2024
Copyright 2025 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.
Este contenido no está disponible en este momento
Te enviaremos una notificación por correo electrónico cuando esté disponible
¡Genial!
Nos comunicaremos contigo por correo electrónico si está disponible
One lab at a time
Confirm to end all existing labs and start this one