arrow_back

Procesamiento de datos de transmisión: transmisión de canalizaciones de datos a Bigtable

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

Procesamiento de datos de transmisión: transmisión de canalizaciones de datos a Bigtable

Lab 2 horas universal_currency_alt 5 créditos show_chart Introductorio
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, 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.

  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.

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

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

  1. En el menú de navegación (Ícono del menú de navegación) de la consola, haz clic en Compute Engine > Instancias de VM.

  2. Ubica la línea que tenga la instancia training-vm.

  3. 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:
git clone https://github.com/GoogleCloudPlatform/training-data-analyst

Configura las variables de entorno

  • 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

  1. En la esquina superior derecha de la terminal SSH de training-vm, haz clic en el botón con forma de engranaje (Ícono de configuración) 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.

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

  1. Para asegurarte de que se establezcan las APIs y los permisos adecuados, ejecuta el siguiente bloque de código en Cloud Shell:
gcloud services disable dataflow.googleapis.com --force gcloud services enable dataflow.googleapis.com
  1. 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.

  1. Presiona Ctrl + X para salir.

  2. 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
  1. Ejecuta los siguientes comandos para que la canalización de Dataflow lea de PubSub y escriba en Cloud Bigtable:
cd ~/training-data-analyst/courses/streaming/process/sandiego export REGION={{{project_0.startup_script.gcp_region|Lab GCP Region}}} ./run_oncloud.sh $DEVSHELL_PROJECT_ID $BUCKET CurrentConditions --bigtable

Ejemplo de una ejecución exitosa:

[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

  1. Regresa a la pestaña del navegador de la consola. En el Menú de navegación (Ícono del 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.

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

  1. 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
  1. 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>
  1. 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}
  1. Revisa el resultado. Observa que cada fila está dividida en columna, marca de tiempo, combinaciones de valores.

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

scan 'current_conditions', {'LIMIT' => 10, STARTROW => '15#S#1', ENDROW => '15#S#999', COLUMN => 'lane:speed'}
  1. 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.

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

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

  1. En tu página de Dataflow de la consola de Cloud, haz clic en el nombre del trabajo de canalización.

  2. Haz clic en Detener en la barra de menú superior. Selecciona Cancelar y, luego, haz clic en Detener trabajo.

  3. Regresa a la primera terminal SSH con el publicador y, luego, presiona Ctrl + C para detenerla.

  4. En la consola de BigQuery, haz clic en los tres puntos junto al conjunto de datos demos y, luego, en Borrar.

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

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.