arrow_back

Cloud Composer: Qwik Start - Consola

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

Cloud Composer: Qwik Start - Consola

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

GSP261

Labs de autoaprendizaje de Google Cloud

Descripción general

Los flujos de trabajo son un tema recurrente en las estadísticas de datos. Implican transferir, transformar y analizar datos para descubrir la información significativa que contienen. En Google Cloud, la herramienta destinada a alojar flujos de trabajo es Cloud Composer, que es una versión alojada de Apache Airflow, la popular herramienta de código abierto para flujos de trabajo.

En este lab, usarás la consola de Cloud para configurar un entorno de Cloud Composer. Luego, utilizarás Cloud Composer para preparar un flujo de trabajo simple que verifique la existencia de un archivo de datos, cree un clúster de Cloud Dataproc, ejecute un trabajo de conteo de palabras de Apache Hadoop en el clúster de Cloud Dataproc y borre este clúster más adelante.

Objetivos

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

  • Usar la consola de Cloud para crear el entorno de Cloud Composer
  • Ver y ejecutar el DAG (grafo acíclico dirigido) en la interfaz web de Airflow
  • Ver los resultados del trabajo de recuento de palabras en Storage

Configuración y requisitos

Antes de hacer clic en el botón Comenzar lab

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:

  • Acceso a un navegador de Internet estándar (se recomienda el navegador Chrome)
Nota: Usa una ventana de navegador privada o de Incógnito para ejecutar este lab. Así evitarás cualquier conflicto entre tu cuenta personal y la cuenta de estudiante, lo que podría generar cargos adicionales en tu cuenta personal.
  • Tiempo para completar el lab: Recuerda que, una vez que comienzas un lab, no puedes pausarlo.
Nota: Si ya tienes un proyecto o una cuenta personal de Google Cloud, no los uses en este lab para evitar cargos adicionales en tu cuenta.

Cómo iniciar su lab y acceder a la consola de Google Cloud

  1. 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:

    • El botón Abrir la consola de Google
    • Tiempo restante
    • Las credenciales temporales que debe usar para el lab
    • Otra información para completar el lab, si es necesaria
  2. Haga clic en Abrir la consola de Google. 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.

    Nota: Si ve el diálogo Elegir una cuenta, haga clic en Usar otra cuenta.
  3. Si es necesario, copie el nombre de usuario del panel Detalles del lab y péguelo en el cuadro de diálogo Acceder. Haga clic en Siguiente.

  4. Copie la contraseña del panel Detalles del lab y péguela en el cuadro de diálogo de bienvenida. Haga clic en Siguiente.

    Importante: Debe usar las credenciales del panel de la izquierda. No use sus credenciales de Google Cloud Skills Boost. Nota: Usar su propia Cuenta de Google podría generar cargos adicionales.
  5. Haga clic para avanzar por las páginas siguientes:

    • Acepte los términos y condiciones.
    • No agregue opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
    • No se registre para obtener pruebas gratuitas.

Después de un momento, se abrirá la consola de Cloud en esta pestaña.

Nota: Para ver el menú con una lista de los productos y servicios de Google Cloud, haga clic en el Menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Ícono del menú de navegación

Activa Cloud Shell

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.

  1. Haz clic en Activar Cloud Shell Ícono de Activar Cloud Shell en la parte superior de la consola 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:

Your Cloud Platform project in this session is set to YOUR_PROJECT_ID

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.

  1. Puedes solicitar el nombre de la cuenta activa con este comando (opcional):
gcloud auth list
  1. Haz clic en Autorizar.

  2. Ahora, el resultado debería verse de la siguiente manera:

Resultado:

ACTIVE: * ACCOUNT: student-01-xxxxxxxxxxxx@qwiklabs.net To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. Puedes solicitar el ID del proyecto con este comando (opcional):
gcloud config list project

Resultado:

[core] project = <project_ID>

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: Para obtener toda la documentación de gcloud, consulta la guía con la descripción general de gcloud CLI en Google Cloud.

Tarea 1: Crea el entorno de Cloud Composer

En esta sección, crearás un entorno de Cloud Composer.

  1. Ve a Menú de navegación (Ícono del menú de navegación) > Composer.

  2. Haz clic en CREAR ENTORNO y selecciona Composer 1 del menú desplegable.

  3. Establece lo siguiente para el entorno:

    • Nombre: highcpu

    • Ubicación:

    • Versión de la imagen: La más reciente

    • Zona:

    • Tipo de máquina: e2-standard-2

Deja el resto de la configuración con sus valores predeterminados.

  1. Haz clic en CREAR.

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.

El entorno puede tardar entre 10 y 15 minutos en completar el proceso de configuración. Continúa con el lab mientras se inicia.

Crea un bucket de Cloud Storage

Crea un bucket de Cloud Storage en tu proyecto. Este bucket almacenará el resultado del trabajo de Hadoop obtenido de Dataproc.

  1. Ve a Menú de navegación > Cloud Storage > Buckets y, luego, haz clic en CREAR.

  2. Asígnale al bucket un nombre , configúralo en una región y haz clic en CREAR.

Si aparece la advertencia Se impedirá el acceso público, haz clic en Confirmar.

Recuerda el nombre del bucket de Cloud Storage (tu ID del proyecto) ya que lo usarás como variable de Airflow más adelante en el lab.

Haz clic en Revisar mi progreso para verificar el objetivo.

Crear un bucket de Cloud Storage.

Tarea 2: Airflow y conceptos básicos

Mientras esperas a que se cree tu entorno de Composer, repasa algunos términos que se usan con Airflow.

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.

Conceptos básicos

DAG

Un grafo acíclico dirigido es una colección de todas las tareas que deseas ejecutar, organizadas de manera que reflejen 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 parametrizada de un operador; un nodo del DAG.

Instancia de tarea

Es una ejecución específica de una tarea, caracterizada como un DAG, una tarea y un punto en el tiempo. Tiene un estado indicativo: running, success, failed, skipped, etcétera.

Puedes obtener más información sobre los conceptos en la documentación correspondiente.

Tarea 3: Define el flujo de trabajo

Ahora, analicemos el flujo de trabajo que utilizarás. Los flujos de trabajo de Cloud Composer constan de DAG (grafos acíclicos dirigidos). Los DAG se definen en archivos estándar de Python ubicados en la carpeta DAG_FOLDER de Airflow. Este, a su vez, ejecutará el código en cada archivo para compilar dinámicamente los objetos DAG. Puedes tener tantos DAG como desees, pues cada uno describe un número arbitrario de tareas. En general, cada DAG debe corresponder a un único flujo de trabajo lógico.

  1. Haz clic en el ícono Activar Cloud Shell en la esquina superior derecha de la consola de Cloud para abrir una nueva ventana de Cloud Shell.

  2. En Cloud Shell, usa nano (un editor de código) para crear el archivo hadoop_tutorial.py:

nano hadoop_tutorial.py
  1. El siguiente código corresponde al flujo de trabajo hadoop_tutorial.py, que también se conoce como el DAG. Pega el siguiente código en el archivo hadoop_tutorial.py.
# [START composer_hadoop_tutorial] """Example Airflow DAG that creates a Cloud Dataproc cluster, runs the Hadoop wordcount example, and deletes the cluster. This DAG relies on three Airflow variables https://airflow.apache.org/concepts.html#variables * gcp_project - Google Cloud Project to use for the Cloud Dataproc cluster. * gce_zone - Google Compute Engine zone where Cloud Dataproc cluster should be created. * gcs_bucket - Google Cloud Storage bucket to use for result of Hadoop job. See https://cloud.google.com/storage/docs/creating-buckets for creating a bucket. """ import datetime import os from airflow import models from airflow.contrib.operators import dataproc_operator from airflow.utils import trigger_rule # Output file for Cloud Dataproc job. output_file = os.path.join( models.Variable.get('gcs_bucket'), 'wordcount', datetime.datetime.now().strftime('%Y%m%d-%H%M%S')) + os.sep # Path to Hadoop wordcount example available on every Dataproc cluster. WORDCOUNT_JAR = ( 'file:///usr/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar' ) # Arguments to pass to Cloud Dataproc job. input_file = 'gs://pub/shakespeare/rose.txt' wordcount_args = ['wordcount', input_file, output_file] yesterday = datetime.datetime.combine( datetime.datetime.today() - datetime.timedelta(1), datetime.datetime.min.time()) default_dag_args = { # Setting start date as yesterday starts the DAG immediately when it is # detected in the Cloud Storage bucket. 'start_date': yesterday, # To email on failure or retry set 'email' arg to your email and enable # emailing here. 'email_on_failure': False, 'email_on_retry': False, # If a task fails, retry it once after waiting at least 5 minutes 'retries': 1, 'retry_delay': datetime.timedelta(minutes=5), 'project_id': models.Variable.get('gcp_project') } # [START composer_hadoop_schedule] with models.DAG( 'composer_hadoop_tutorial', # Continue to run DAG once per day schedule_interval=datetime.timedelta(days=1), default_args=default_dag_args) as dag: # [END composer_hadoop_schedule] # Create a Cloud Dataproc cluster. create_dataproc_cluster = dataproc_operator.DataprocClusterCreateOperator( task_id='create_dataproc_cluster', # Give the cluster a unique name by appending the date scheduled. # See https://airflow.apache.org/code.html#default-variables cluster_name='composer-hadoop-tutorial-cluster-{{ ds_nodash }}', num_workers=2, region='{{{project_0.default_region|region}}}', zone=models.Variable.get('gce_zone'), image_version='2.0', master_machine_type='e2-standard-2', worker_machine_type='e2-standard-2') # Run the Hadoop wordcount example installed on the Cloud Dataproc cluster # master node. run_dataproc_hadoop = dataproc_operator.DataProcHadoopOperator( task_id='run_dataproc_hadoop', region='{{{project_0.default_region|place_holder_text}}}', main_jar=WORDCOUNT_JAR, cluster_name='composer-hadoop-tutorial-cluster-{{ ds_nodash }}', arguments=wordcount_args) # Delete Cloud Dataproc cluster. delete_dataproc_cluster = dataproc_operator.DataprocClusterDeleteOperator( task_id='delete_dataproc_cluster', region='{{{project_0.default_region|place_holder_text}}}', cluster_name='composer-hadoop-tutorial-cluster-{{ ds_nodash }}', # Setting trigger_rule to ALL_DONE causes the cluster to be deleted # even if the Dataproc job fails. trigger_rule=trigger_rule.TriggerRule.ALL_DONE) # [START composer_hadoop_steps] # Define DAG dependencies. create_dataproc_cluster >> run_dataproc_hadoop >> delete_dataproc_cluster # [END composer_hadoop_steps] # [END composer_hadoop_tutorial]
  1. Presiona Ctrl + O, Intro y Ctrl + X, en ese orden, para guardar los cambios y salir de nano.

Para organizar las tres tareas del flujo de trabajo, el DAG importa los siguientes operadores:

  • DataprocClusterCreateOperator: Crea un clúster de Cloud Dataproc.
  • DataProcHadoopOperator: Envía un trabajo de conteo de palabras de Hadoop y escribe los resultados en un bucket de Cloud Storage.
  • DataprocClusterDeleteOperator: Borra el clúster para no generar cargos continuos de Compute Engine.

Las tareas se ejecutan de forma secuencial, lo que puedes ver en esta sección del archivo:

# Define DAG dependencies. create_dataproc_cluster >> run_dataproc_hadoop >> delete_dataproc_cluster

El nombre del DAG es hadoop_tutorial, y este se ejecuta una vez por día:

with models.DAG( 'composer_hadoop_tutorial', # Continue to run DAG once per day schedule_interval=datetime.timedelta(days=1), default_args=default_dag_args) as dag:

Dado que la start_date que se pasa a default_dag_args está establecida como yesterday, Cloud Composer programa el flujo de trabajo para que comience inmediatamente después de subir el DAG.

Tarea 4: Consulta información del entorno

  1. Vuelve a Composer para comprobar el estado de tu entorno.

  2. Cuando termine de crearse tu entorno, haz clic en el nombre (highcpu) para ver los detalles.

En Detalles del entorno, podrás ver información como la URL de la interfaz web de Airflow, el ID del clúster de Kubernetes Engine y un vínculo a la carpeta de los DAG, que está almacenada en tu bucket.

Nota: Cloud Composer solo programa los flujos de trabajo en la carpeta /dags.

Haz clic en Revisar mi progreso para verificar el objetivo.

Crear el entorno de Cloud Composer

Tarea 5: Usa la IU de Airflow

Sigue estos pasos para acceder a la interfaz web de Airflow con la consola de Cloud:

  1. Regresa a la página Entornos.
  2. En la columna Webserver de Airflow del entorno, haz clic en Airflow.
  3. Haz clic en tus credenciales del lab.
  4. La interfaz web de Airflow se abrirá en una nueva ventana del navegador.

Tarea 6: Configura variables de Airflow

Las variables de Airflow son un concepto específico de Airflow que difiere de las variables de entorno.

  1. Desde la barra de menú de Airflow, selecciona Admin > Variables y, luego, haz clic en + (Add a new record).

  2. Crea las siguientes variables de Airflow: gcp_project, gcs_bucket y gce_zone:

CLAVE

VALOR

Detalles

gcp_project

El proyecto de Google Cloud que usas para esta guía de inicio rápido.

gcs_bucket

gs://

Este es el nombre del bucket de Cloud Storage que creaste anteriormente y que debería tener el mismo nombre que tu ID del proyecto, a menos que lo hayas cambiado. Este bucket almacena el resultado de los trabajos de Hadoop obtenidos de Dataproc.

gce_zone

Esta es la zona de Compute Engine en la que se creará tu clúster de Cloud Dataproc. Para elegir una zona distinta, consulta Regiones y zonas disponibles.

Nota: Después de ingresar un registro, haz clic en Guardar y, luego, vuelve a hacer clic en + para agregar un nuevo registro.

Cuando termines, la tabla de Variables debería verse de esta forma:

La tabla List Variables, en la que se muestran tres claves: gce_zone, gcp_project y gcs_bucket, así como su valor asociado, descripción y estado de encriptación

Tarea 7: Sube el DAG a Cloud Storage

Para subir el DAG, subirás una copia del archivo hadoop_tutorial.py al bucket de Cloud Storage que se creó automáticamente cuando creaste el entorno.

  1. Para comprobarlo, dirígete a Composer > Entornos.

  2. Haz clic en el entorno que creaste anteriormente para ir a sus detalles.

  3. Haz clic en Configuración del entorno.

  4. Busca la carpeta de DAG, copia el valor para reemplazar <DAGs_folder_path> en el siguiente comando y ejecútalo en Cloud Shell:

gsutil cp hadoop_tutorial.py <DAGs_folder_path>

dags_folder

Cloud Composer agrega el DAG a Airflow y lo programa automáticamente. Los cambios en el DAG tardan de 3 a 5 minutos. El flujo de trabajo ahora se denominará composer_hadoop_tutorial.

Podrás ver el estado de la tarea en la interfaz web de Airflow.

Haz clic en Revisar mi progreso para verificar el objetivo.

Subir el DAG a Cloud Storage

Explora las ejecuciones del DAG

Cuando subas tu archivo DAG a la carpeta dags en Cloud Storage, Cloud Composer analizará el archivo. Si no se encuentran errores, el nombre del flujo de trabajo aparecerá en la lista del DAG y el flujo de trabajo se pondrá en cola para ejecutarse de inmediato.

Asegúrate de estar en la pestaña DAGs, en la interfaz web de Airflow. Este proceso tardará varios minutos en completarse. Actualiza la página para asegurarte de ver la información más reciente.

  1. En Airflow, haz clic en composer_hadoop_tutorial para abrir la página de detalles del DAG, que incluye una representación gráfica de las tareas del flujo de trabajo y las dependencias.

  2. En la barra de herramientas, haz clic en Graph para cambiar a esa vista. Desplaza el mouse sobre el gráfico de cada tarea para ver su estado. Ten en cuenta que el borde de cada tarea también indica el estado (borde verde: running; rojo: failed; etcétera).

  3. Si es necesario, activa la Auto refresh o haz clic en el ícono de actualizar para asegurarte de que estás consultando la información más reciente. Los bordes de los procesos cambian de color a medida que cambia su estado.

Si el color alrededor de create_dataproc_cluster cambió y el estado no es “running”, vuelve a ejecutar el flujo de trabajo desde la vista Graph. Si el estado es “running”, no debes realizar los 3 pasos que se indican a continuación.

  1. Haz clic en el gráfico create_dataproc_cluster.
  2. Haz clic en Clear para restablecer las tres tareas.
  3. Luego, haz clic en OK para confirmar.

Observa que cambió el color alrededor de create_dataproc_cluster y el estado es “running”.

También puedes supervisar el proceso en la consola de Cloud.

  1. Una vez que el estado de create_dataproc_cluster cambie a “running”, dirígete a Menú de navegación > Dataproc y, luego, haz clic en lo siguiente:
  • Clústeres para supervisar la creación y eliminación de clústeres. El clúster que el flujo de trabajo creó es efímero: solo existe a la par del flujo de trabajo y se borra como parte de la última tarea de este.
  • Trabajos para supervisar el trabajo de conteo de palabras de Apache Hadoop. Haz clic en el ID del trabajo para ver el resultado del registro de trabajos.
  1. Cuando Dataproc alcance el estado “Running”, vuelve a Airflow y haz clic en Refresh para ver que el clúster esté completo.

  2. Cuando el proceso run_dataproc_hadoop esté completo, ve a Menú de navegación > Cloud Storage > Buckets y haz clic en el nombre de tu bucket para ver los resultados del conteo de palabras en la carpeta wordcount.

Haz clic en Revisar mi progreso para verificar el objetivo.

Explorar las ejecuciones del DAG

Pon a prueba tus conocimientos

Para poner a prueba tus conocimientos sobre Google Cloud Platform, realiza nuestro cuestionario.

Borre el entorno de Cloud Composer

  1. Vuelva a la página de Entornos en Compositor.
  2. Seleccione la casilla junto a su entorno de Compositor.
  3. Haga clic en BORRAR.
  4. Confirme la ventana emergente haciendo clic en BORRAR otra vez.

¡Felicitaciones!

¡Felicitaciones! En este lab, creaste un entorno de Cloud Composer, subiste un DAG a Cloud Storage y ejecutaste un flujo de trabajo con el que se creó un clúster de Cloud Dataproc, se ejecutó un trabajo de conteo de palabras de Hadoop y se borró el clúster. También aprendiste sobre Airflow y los conceptos básicos, además de explorar la interfaz web de Airflow. Ahora puedes usar Cloud Composer para crear y administrar tus propios flujos de trabajo.

Próximos pasos

Este lab forma parte de una serie llamada Qwik Starts. Estos labs están diseñados para ofrecerte una visión general de las numerosas funciones disponibles de Google Cloud. Busca “Qwik Starts” en el catálogo de labs para elegir el próximo lab que desees completar.

Capacitación y certificación de Google Cloud

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: 18 de diciembre de 2023

Prueba más reciente del lab: 18 de diciembre de 2023

Copyright 2024 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.