Cargando…
No se encontraron resultados.

Creación de flujos de procesamiento de datos por lotes en Google Cloud

Obtén acceso a más de 700 labs y cursos

Análisis de datos sin servidores con Dataflow: Una canalización simple de Dataflow (Java)

Lab 1 hora 30 minutos universal_currency_alt 5 créditos show_chart Avanzado
info Es posible que este lab incorpore herramientas de IA para facilitar tu aprendizaje.
Obtén acceso a más de 700 labs y cursos

Descripción general

En este lab, abrirás un proyecto de Dataflow, usarás filtros de canalizaciones y ejecutarás la canalización de forma local y en la nube.

Objetivos

En este lab, aprenderás a escribir una canalización simple con Dataflow y a ejecutarla de forma local y en la nube.

  • Configurar un proyecto de Java Dataflow con Maven
  • Escribir una canalización simple en Java
  • Ejecutar la consulta en la máquina local
  • Ejecutar la consulta en la nube

Configuración y requisitos

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

  1. Accede a Qwiklabs desde una ventana de incógnito.

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

  3. Cuando esté listo, haga clic en Comenzar lab.

  4. Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.

  5. Haga clic en Abrir Google Console.

  6. Haga clic en Usar otra cuenta, copie las credenciales para este lab y péguelas en el mensaje emergente que aparece.
    Si usa otras credenciales, se generarán errores o incurrirá en cargos.

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

Activa Google Cloud Shell

Google 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.

Google Cloud Shell proporciona acceso de línea de comandos a tus recursos de Google Cloud.

  1. En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.

    Ícono de Cloud Shell destacado

  2. Haz clic en Continuar.

El aprovisionamiento y la conexión al entorno demorarán unos minutos. Cuando te conectes, habrás completado la autenticación, y el proyecto estará configurado con tu PROJECT_ID. Por ejemplo:

ID del proyecto destacado en la terminal de Cloud Shell

gcloud es la herramienta de línea de comandos de Google Cloud. Viene preinstalada en Cloud Shell y es compatible con el completado de línea de comando.

  • Puedes solicitar el nombre de la cuenta activa con este comando:
gcloud auth list

Resultado:

Credentialed accounts: - @.com (active)

Resultado de ejemplo:

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Puedes solicitar el ID del proyecto con este comando:
gcloud config list project

Resultado:

[core] project =

Resultado de ejemplo:

[core] project = qwiklabs-gcp-44776a13dea667a6 Nota: La documentación completa de gcloud está disponible en la guía de descripción general de gcloud CLI .

Inicia el editor de código de Google Cloud Shell

Usa el editor de código de Google Cloud Shell para crear y editar directorios y archivos fácilmente en la instancia de Cloud Shell.

  • Una vez que actives Google Cloud Shell, haz clic en Abrir editor para abrir el editor de código de Cloud Shell.

Botón Abrir editor

Ahora tienes disponibles tres interfaces:

  • El editor de código de Cloud Shell
  • Consola (disponible haciendo clic en la pestaña); para alternar entre la consola y Cloud Shell, haga clic en la pestaña
  • La línea de comandos de Cloud Shell (haciendo clic en Abrir terminal en la consola)

Tres interfaces destacadas: el editor de código de Cloud Shell, la consola y la línea de comandos de Cloud Shell

Verifica los permisos del proyecto

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

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

  2. Confirma 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 puedes encontrar en el Menú de navegación > Descripción general de Cloud > Panel.

El nombre de la cuenta de servicio predeterminada de Compute Engine y el estado del editor destacados en la página de pestañas Permisos

Nota: Si la cuenta no aparece en IAM o no tiene asignado el rol Editor, sigue los pasos que se indican a continuación para asignar el rol necesario.
  1. En la consola de Google Cloud, en el Menú de navegación, haz clic en Descripción general de Cloud > Panel.
  2. Copia el número del proyecto (p. ej., 729328892908).
  3. En el Menú de navegación, selecciona IAM y administración > IAM.
  4. En la parte superior de la tabla de funciones, debajo de Ver por principales, haz clic en Otorgar acceso.
  5. En Principales nuevas, escribe lo siguiente:
{project-number}-compute@developer.gserviceaccount.com
  1. Reemplaza {número-del-proyecto} por el número de tu proyecto.
  2. En Rol, selecciona Proyecto (o Básico) > Editor.
  3. Haz clic en Guardar.

Tarea 1. Preparación

Verifica el bucket y descarga el código del lab

Se deben completar pasos específicos para ejecutar correctamente este lab:

  1. Verifica que tienes un bucket de Cloud Storage (se creó uno automáticamente para ti cuando se inició el entorno del lab).

  2. En la barra de título de la consola de Google Cloud, haz clic en Activar Cloud Shell. Si se te solicita, haz clic en Continuar. Clona el repositorio de código de GitHub del lab usando el siguiente comando:

git clone https://github.com/GoogleCloudPlatform/training-data-analyst
  1. En Cloud Shell, ingresa lo siguiente para crear dos variables de entorno. Una llamada “BUCKET” y la otra “REGION”. Verifica que ambas existan en el comando echo:
BUCKET="{{{project_0.project_id|Project ID}}}-bucket" echo $BUCKET REGION="{{{project_0.default_region|Region}}}" echo $REGION

Asegúrate de que la API de Dataflow esté habilitada correctamente

  1. En Cloud Shell, ejecuta los siguientes comandos para asegurarte de que la API de Dataflow esté bien habilitada en tu proyecto.
gcloud services disable dataflow.googleapis.com --force gcloud services enable dataflow.googleapis.com

Tarea 2. Crea un nuevo proyecto en Dataflow

El objetivo de este lab es familiarizarse con la estructura de un proyecto de Dataflow y aprender a ejecutar una canalización de Dataflow. Utilizarás la potente herramienta de compilación Maven para crear un nuevo proyecto en Dataflow.

  1. Regresa a la pestaña del navegador donde se encuentra Cloud Shell. Una vez ahí, navega al directorio de este lab:
cd ~/training-data-analyst/courses/data_analysis/lab2
  1. Copia y pega el siguiente comando de Maven:
mvn archetype:generate \ -DarchetypeArtifactId=google-cloud-dataflow-java-archetypes-starter \ -DarchetypeGroupId=com.google.cloud.dataflow \ -DgroupId=com.example.pipelinesrus.newidea \ -DartifactId=newidea \ -Dversion="[1.0.0,2.0.0]" \ -DinteractiveMode=false
  • ¿Qué directorio se creó?
  • ¿Qué paquete se creó dentro del directorio src?
  1. Examina el comando de Maven utilizado para crear el código del lab:
cat ~/training-data-analyst/courses/data_analysis/lab2/create_mvn.sh
  • ¿Qué directorio se creará?
  • ¿Qué paquete se creará dentro del directorio src?

Tarea 3. Filtra las canalizaciones

  1. En el editor de código de Cloud Shell, navega al directorio /training-data-analyst/courses/data_analysis/lab2.

  2. Luego, selecciona la ruta de acceso javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp/ y consulta el archivo Grep.java.

De manera alternativa, puedes visualizar el archivo con el editor nano. No realices cambios en el código.

cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp/ nano Grep.java

¿Puedes responder estas preguntas sobre el archivo Grep.java?

  • ¿Qué archivos se leen?
  • ¿Cuál es el término de búsqueda?
  • ¿A dónde se dirigen los datos de salida?

Existen tres declaraciones de aplicación en la canalización:

  • ¿Qué hace la primera declaración apply()?
  • ¿Qué hace la segunda declaración apply()?
  • ¿De dónde provienen los datos de entrada?
  • ¿Qué hace con estos datos de entrada?
  • ¿Qué escribe como datos de salida?
  • ¿A dónde se dirigen los datos de salida?
  • ¿Qué hace la tercera declaración apply()?

Tarea 4. Ejecuta la canalización de forma local

  1. En Cloud Shell, pega el siguiente comando de Maven:
cd ~/training-data-analyst/courses/data_analysis/lab2 export PATH=/usr/lib/jvm/java-8-openjdk-amd64/bin/:$PATH cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp mvn compile -e exec:java \ -Dexec.mainClass=com.google.cloud.training.dataanalyst.javahelp.Grep
  1. El archivo del resultado será output.txt. Si los datos de salida son lo suficientemente grandes, se fragmentarán en partes separadas con nombres como output-00000-of-00001. Si es necesario, puedes examinar el horario del archivo para encontrar el archivo correcto.
ls -al /tmp
  1. Examina el archivo output:
cat /tmp/output*

¿Los datos de salida parecen lógicos?

Tarea 5. Ejecuta la canalización en la nube

  1. Copia algunos archivos Java en la nube:
gcloud storage cp ../javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp/*.java gs://$BUCKET/javahelp
  1. En el editor de código de Cloud Shell, navega al directorio /training-data-analyst/courses/data_analysis/lab2/javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp

  2. Edita la canalización de Dataflow en el archivo Grep.java:

cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp/src/main/java/com/google/cloud/training/dataanalyst/javahelp
  1. Reemplaza las variables Input y Output por el nombre de tu bucket, de la siguiente manera:
String input = "gs://{{{project_0.project_id|Project ID}}}-bucket/javahelp/*.java"; String outputPrefix = "gs://{{{project_0.project_id|Project ID}}}-bucket/javahelp/output"; Nota: Asegúrate de que cambiaste las cadenas input y outputPrefix que ya están presentes en el código fuente (no copies y pegues la línea completa de arriba sin quitar las cadenas iniciales porque luego terminarás con las variables duplicadas).

Ejemplo de líneas anteriores:

String input = "src/main/java/com/google/cloud/training/dataanalyst/javahelp/*.java"; String outputPrefix = "/tmp/output"; </ql-code-block output> Líneas de ejemplo después de la edición en las que se incluye el nombre del bucket de tu proyecto: String input = "gs://qwiklabs-gcp-your-value-bucket/javahelp/*.java"; </ql-code-block output> String outputPrefix = "gs://qwiklabs-gcp-your-value-bucket/javahelp/output"; </ql-code-block output> 5. Examina la secuencia de comandos para enviar el trabajo de Dataflow a la nube: cd ~/training-data-analyst/courses/data_analysis/lab2/javahelp cat run_oncloud1.sh

¿Cuál es la diferencia entre este comando de Maven y el que se ejecuta de forma local?

  1. Envía el trabajo de Dataflow a la nube:
bash run_oncloud1.sh $DEVSHELL_PROJECT_ID $BUCKET Grep $REGION

Dado que este es un trabajo pequeño, ejecutarlo en la nube llevará mucho más tiempo que hacerlo de forma local (alrededor de 2 o 3 minutos).

Ejemplo de línea de comandos completa:

[INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 01:50 min [INFO] Finished at: 2018-02-06T15:11:23-05:00 [INFO] Final Memory: 39M/206M [INFO] ------------------------------------------------------------------------
  1. Regresa a la pestaña del navegador de la consola. En Menú de navegación (Ícono del menú de navegación), haz clic en Dataflow y, luego, en tu trabajo para supervisar el progreso.

Ejemplo:

Pestaña Gráfico del trabajo en la que se muestra Vista de gráfico

  1. Espera a que el estado del trabajo cambie a Completado. En este punto, Cloud Shell mostrará un prompt de línea de comandos.

    Nota: Si el trabajo de Dataflow falla la primera vez, vuelve a ejecutar el comando anterior para enviar un nuevo Dataflow job a la nube.
  2. Examina el resultado en el bucket de Cloud Storage. En el menú de navegación (Ícono del menú de navegación), haz clic en Cloud Storage > Buckets y, luego, en tu bucket.

  3. Haz clic en el directorio javahelp. Este trabajo generará el archivo output.txt. Si el archivo es lo suficientemente grande, se fragmentará en varias partes con nombres como output-0000x-of-000y. Puedes identificar el archivo más reciente por su nombre o por el campo Última modificación. Haz clic en el archivo para visualizarlo.

De manera alternativa, puedes descargar el archivo en Cloud Shell y visualizarlo:

gcloud storage cp gs://$BUCKET/javahelp/output* . cat output*

Finalice su lab

Cuando haya completado el lab, haga clic en Finalizar lab. Google Cloud Skills Boost quitará los recursos que usó y limpiará la cuenta.

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.

Anterior Siguiente

Antes de comenzar

  1. Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
  2. .
  3. Los labs tienen un límite de tiempo y no tienen la función de pausa. Si finalizas el lab, deberás reiniciarlo desde el principio.
  4. En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar

Usa la navegación privada

  1. Copia el nombre de usuario y la contraseña proporcionados para el lab
  2. Haz clic en Abrir la consola en modo privado

Accede a la consola

  1. Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
  2. Acepta las condiciones y omite la página de recursos de recuperación
  3. No hagas clic en Finalizar lab, a menos que lo hayas terminado o quieras reiniciarlo, ya que se borrará tu trabajo y se quitará el proyecto

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

Un lab a la vez

Confirma para finalizar todos los labs existentes y comenzar este

Usa la navegación privada para ejecutar el lab

Usa una ventana de navegación privada o de Incógnito para ejecutar el 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.
Vista previa