En este lab, usarás Dataflow para recopilar eventos de tráfico a partir de datos simulados de un sensor de tráfico disponibles a través de Google Cloud Pub/Sub y los escribirás en una tabla de Bigtable.
Nota: En el momento en que se redactó este documento, las canalizaciones de transmisión no se encontraban disponibles en el SDK de Dataflow para Python. Por lo tanto, los labs de transmisión están escritos en Java.
Objetivos
En este lab, realizarás las siguientes tareas:
Iniciar la canalización de Dataflow para leer desde Pub/Sub y escribir en Bigtable
Abrir una shell de HBase para consultar la base de datos de Bigtable
Configuración
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.
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
Tendrás que ejecutar un simulador del sensor desde la VM de entrenamiento. Se requieren varios archivos, así como configurar algunos ajustes del entorno.
Abre la terminal SSH y conéctate a la VM de entrenamiento
En el menú de navegación () de la consola, haz clic en Compute Engine > Instancias de VM.
Ubica la línea que tenga la instancia training-vm.
En el extremo derecho, en la columna Conectar, haz clic en SSH para abrir una ventana de la terminal. Luego, haz clic en Conectar.
En este lab, ingresarás comandos de la CLI en training-vm.
Verifica que se haya completado la inicialización
La instancia training-vm está instalando software en segundo plano. Revisa el contenido del directorio nuevo para verificar que la configuración esté completa.
ls /training
La configuración estará completa cuando el resultado del comando list (ls) aparezca como en la siguiente imagen. Si no aparece la lista completa, espera unos minutos y vuelve a intentarlo.
Nota: Es posible que todas las acciones en segundo plano tarden entre 2 y 3 minutos en completarse.
student-04-2324ale56789@training-vm:~$ ls /training
bq-magic.sh project_env.sh sensor_magic.sh
student-04-2324ale56789@training-vm:~$
Descarga el repositorio de código
A continuación, descargarás un repositorio de código que usarás en este lab:
En la terminal SSH de training-vm, ingresa lo siguiente:
source /training/project_env.sh
Esta secuencia de comandos configura las variables de entorno $DEVSHELL_PROJECT_ID y $BUCKET.
Prepara los archivos de la guía de inicio rápido de HBase
En la terminal SSH de training-vm, ejecuta la secuencia de comandos para descargar y descomprimir los archivos de la guía de inicio rápido (luego los usarás para ejecutar la shell de HBase):
cd ~/training-data-analyst/courses/streaming/process/sandiego
./install_quickstart.sh
Haz clic en Revisar mi progreso para verificar el objetivo.
Copiar los archivos de muestra en el directorio principal de training_vm
Tarea 2. Simula los datos del sensor de tráfico en Pub/Sub
En la terminal SSH de training-vm, inicia el simulador del sensor. La secuencia de comandos lee los datos de muestra de un archivo CSV y los publica en Pub/Sub:
/training/sensor_magic.sh
Este comando enviará 1 hora de datos en 1 minuto. Deja que la secuencia de comandos continúe ejecutándose en la terminal actual.
Abre una segunda terminal SSH y conéctate a la VM de entrenamiento
En la esquina superior derecha de la terminal SSH de training-vm, haz clic en el botón con forma de engranaje () y selecciona Conexión nueva en el menú desplegable. Se abrirá una nueva ventana de terminal.
La nueva sesión de la terminal no tendrá las variables de entorno necesarias. Completa el siguiente paso para configurar estas variables.
En la nueva terminal SSH de training-vm, ingresa lo siguiente:
source /training/project_env.sh
Haz clic en Revisar mi progreso para verificar el objetivo.
Simular los datos del sensor de tráfico en Pub/Sub
Tarea 3. Inicia la canalización de Dataflow
Para asegurarte de que se establezcan las APIs y los permisos adecuados, ejecuta el siguiente bloque de código en Cloud Shell:
En la segunda terminal SSH de training-vm, navega al directorio de este lab. Examina la secuencia de comandos en Cloud Shell o usa nano. No realices cambios en el código:
cd ~/training-data-analyst/courses/streaming/process/sandiego
nano run_oncloud.sh
¿Qué hace la secuencia de comandos?
La secuencia de comandos utiliza 3 argumentos obligatorios: identificación del proyecto, nombre del depósito, nombre de clase. Posiblemente use un cuarto argumento: opciones. En esta parte del lab, utilizaremos la opción --bigtable que le indicará a la canalización que escriba en Cloud Bigtable.
Presiona Ctrl + X para salir.
Ejecuta los siguientes comandos para crear la instancia de Bigtable:
cd ~/training-data-analyst/courses/streaming/process/sandiego
export ZONE={{{project_0.startup_script.gcp_zone|Lab GCP Zone}}}
./create_cbt.sh
Ejecuta los siguientes comandos para que la canalización de Dataflow lea de PubSub y escriba en Cloud Bigtable:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 47.582 s
[INFO] Finished at: 2018-06-08T21:25:32+00:00
[INFO] Final Memory: 58M/213M
[INFO] ------------------------------------------------------------------------
Haz clic en Revisar mi progreso para verificar el objetivo.
Iniciar la canalización de Dataflow
Tarea 4. Explora la canalización
Regresa a la pestaña del navegador de la consola. En el Menú de navegación (), haz clic en Dataflow y, luego, en el nuevo trabajo de canalización. Confirma que el trabajo de canalización esté en la lista y que se esté ejecutando sin errores.
Busca el paso write:cbt en el gráfico de canalización y haz clic en la flecha hacia abajo, a la derecha, para ver al escritor en acción. Haz clic en el escritor. Revisa las opciones de Bigtable en Resumen del paso.
Tarea 5. Consulta datos de Bigtable
En la segunda terminal SSH de training-vm, ejecuta la secuencia de comandos quickstart.sh para iniciar la shell de HBase:
cd ~/training-data-analyst/courses/streaming/process/sandiego/quickstart
./quickstart.sh
Cuando se complete la secuencia de comandos, te encontrarás en un indicador de shell de HBase que tiene esta apariencia:
hbase(main):001:0>
En el indicador de shell de HBase, escribe la siguiente consulta para recuperar 2 filas de tu tabla de Bigtable que propagó la canalización. Es posible que los resultados tarden algunos minutos en devolverse con la consulta de HBase.
Repite el comando “scan” hasta que veas que se devuelve una lista de las filas:
scan 'current_conditions', {'LIMIT' => 2}
Revisa el resultado. Observa que cada fila está dividida en columna, marca de tiempo, combinaciones de valores.
Ejecuta otra consulta. Esta vez, observa únicamente la columna lane: speed, limítala a 10 filas y especifica rowid patterns para que se puedan escanear la fila inicial y la final:
Revisa el resultado. Ten en cuenta que ves 10 columnas, marcas de tiempo y combinaciones de valores, que corresponden a Highway 15. También ten en cuenta que la columna está restringida a lane: speed.
No dudes en ejecutar otras consultas si conoces la sintaxis. Una vez que estés conforme, ingresa quit para salir de la shell:
quit
Tarea 6. Realiza una limpieza
En la segunda terminal SSH de training-vm, ejecuta la siguiente secuencia de comandos para borrar tu instancia de Bigtable:
cd ~/training-data-analyst/courses/streaming/process/sandiego
./delete_cbt.sh
Si se te solicita confirmar, ingresa Y.
En tu página de Dataflow de la consola de Cloud, haz clic en el nombre del trabajo de canalización.
Haz clic en Detener en la barra de menú superior. Selecciona Cancelar y, luego, haz clic en Detener trabajo.
Regresa a la primera terminal SSH con el publicador y, luego, presiona Ctrl + C para detenerla.
En la consola de BigQuery, haz clic en los tres puntos junto al conjunto de datos demos y, luego, en Borrar.
Escribe delete y, luego, haz clic en Borrar.
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.
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.
Procesamiento de datos de transmisión: transmisión de datos a Bigtable
Duración:
1 min de configuración
·
Acceso por 120 min
·
120 min para completar