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.
Accede a Qwiklabs desde una ventana de incógnito.
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.
Cuando esté listo, haga clic en Comenzar lab.
Anote las credenciales del lab (el nombre de usuario y la contraseña). Las usarás para acceder a la consola de Google Cloud.
Haga clic en Abrir Google Console.
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.
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.
En la consola de Cloud, en la barra de herramientas superior derecha, haz clic en el botón Abrir Cloud Shell.
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:
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:
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.
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)
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).
En la consola de Google Cloud, en el Menú de navegación (), selecciona IAM y administración > IAM.
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.
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.
En la consola de Google Cloud, en el Menú de navegación, haz clic en Descripción general de Cloud > Panel.
Copia el número del proyecto (p. ej., 729328892908).
En el Menú de navegación, selecciona IAM y administración > IAM.
En la parte superior de la tabla de funciones, debajo de Ver por principales, haz clic en Otorgar acceso.
Reemplaza {número-del-proyecto} por el número de tu proyecto.
En Rol, selecciona Proyecto (o Básico) > Editor.
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:
Verifica que tienes un bucket de Cloud Storage (se creó uno automáticamente para ti cuando se inició el entorno del lab).
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:
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:
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.
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
En el editor de código de Cloud Shell, navega al directorio
/training-data-analyst/courses/data_analysis/lab2.
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
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
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.
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
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
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?
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] ------------------------------------------------------------------------
Regresa a la pestaña del navegador de la consola. En Menú de navegación (), haz clic en Dataflow y, luego, en tu trabajo para supervisar el progreso.
Ejemplo:
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.
Examina el resultado en el bucket de Cloud Storage. En el menú de navegación (), haz clic en Cloud Storage > Buckets y, luego, en tu bucket.
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:
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.
Los labs crean un proyecto de Google Cloud y recursos por un tiempo determinado
.
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.
En la parte superior izquierda de la pantalla, haz clic en Comenzar lab para empezar
Usa la navegación privada
Copia el nombre de usuario y la contraseña proporcionados para el lab
Haz clic en Abrir la consola en modo privado
Accede a la consola
Accede con tus credenciales del lab. Si usas otras credenciales, se generarán errores o se incurrirá en cargos.
Acepta las condiciones y omite la página de recursos de recuperación
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.
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 con Java.
Duración:
1 min de configuración
·
Acceso por 90 min
·
90 min para completar