arrow_back

Usa Dataproc Serverless para Spark para cargar archivos en una tabla de BigQuery

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

Usa Dataproc Serverless para Spark para cargar archivos en una tabla de BigQuery

Lab 45 minutos 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

Dataproc Serverless es un servicio completamente administrado que facilita la ejecución de cargas de trabajo de procesamiento y análisis de datos de código abierto sin tener que administrar la infraestructura ni ajustar las cargas de trabajo de forma manual.

Dataproc Serverless para Spark proporciona un entorno optimizado diseñado para transferir con facilidad las cargas de trabajo de Spark existentes a Google Cloud.

En este lab, ejecutarás una carga de trabajo de Batch en un entorno de Dataproc Serverless. La carga de trabajo utilizará una plantilla de Spark para procesar un archivo Avro, y así crear y cargar una tabla de BigQuery.

Actividades

  • Configurar el entorno
  • Descargar los recursos del lab
  • Configurar y ejecutar el código de Spark
  • Visualizar datos en BigQuery

Configuración

Antes de hacer clic en el botón Comenzar lab

Lea estas instrucciones. Los labs tienen un tiempo límite; no puede ponerlos en pausa. El cronómetro, que comienza a funcionar cuando hace clic en Comenzar lab, indica por cuánto tiempo estarán los recursos en la nube a su disposición.

Este lab práctico de Qwiklabs le permitirá llevar a cabo las actividades correspondientes en un entorno de nube real, no en uno de simulación o demostración. Para ello, recibe nuevas credenciales temporales que utilizará para acceder a Google Cloud Platform durante el transcurso del lab.

Lo que necesita

Para completar este lab, necesitará lo siguiente:

  • Acceso a un navegador de Internet estándar. Se recomienda el navegador Chrome
  • Tiempo para completar el lab

Nota: Si ya tiene un proyecto o una cuenta personal de GCP, no los use para este lab.

Cómo iniciar tu lab y acceder a la consola

  1. Haz clic en el botón Comenzar lab. Si debes pagar por el lab, se abrirá una ventana emergente para que selecciones tu forma de pago. A la izquierda, verás un panel con las credenciales temporales que debes usar para este lab.

    Panel de credenciales

  2. Copia el nombre de usuario y, luego, haz clic en Abrir la consola de Google. El lab inicia los recursos y abre otra pestaña que muestra la página Elige una cuenta.

    Sugerencia: Abre las pestañas en ventanas separadas, una junto a la otra.
  3. En la página Elige una cuenta, haz clic en Usar otra cuenta. Se abrirá la página de acceso.

    Cuadro de diálogo Elige una cuenta el que se destaca la opción Usar otra cuenta

  4. Pega el nombre de usuario que copiaste del panel Detalles de la conexión. Luego, copia y pega la contraseña.

Nota: Debes usar las credenciales del panel Detalles de la conexión. No uses tus credenciales de Google Cloud Skills Boost. Si tienes una cuenta propia de Google Cloud, no la utilices para este lab para no incurrir en cargos.
  1. Haz clic para avanzar por las páginas siguientes:
  • Acepta los Términos y Condiciones.
  • No agregues opciones de recuperación o autenticación de dos factores (esta es una cuenta temporal).
  • No te registres 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, haz clic en el menú de navegación que se encuentra en la parte superior izquierda de la pantalla. Menú de la consola de Cloud

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 .

Tarea 1. Completa las tareas de configuración del entorno

Primero, realizarás algunas tareas de configuración del entorno para respaldar la ejecución de una carga de trabajo de Dataproc Serverless.

  1. En Cloud Shell, ejecuta el siguiente comando, que habilitará el acceso a la IP privada:
gcloud compute networks subnets update default --region={{{project_0.default_region |REGION}}} --enable-private-ip-google-access
  1. Utiliza el siguiente comando para crear un nuevo bucket de Cloud Storage como la ubicación de etapa de pruebas:
gsutil mb -p {{{project_0.project_id |PROJECT_ID}}} gs://{{{project_0.project_id |PROJECT_ID}}}
  1. Usa el siguiente comando para crear un nuevo bucket de Cloud Storage como ubicación temporal para BigQuery mientras crea y carga una tabla:
gsutil mb -p {{{project_0.project_id |PROJECT_ID}}} gs://{{{project_0.project_id |PROJECT_ID}}}-bqtemp
  1. Crea un conjunto de datos de BigQuery para almacenar los datos.
bq mk -d loadavro Completar las tareas de configuración del entorno

Tarea 2. Descarga los recursos del lab

A continuación, descargarás algunos recursos necesarios para completar el lab en la VM de Compute Engine proporcionada para el lab. Realizarás el resto de los pasos del lab dentro de la VM de Compute Engine.

  1. En el menú de navegación, haz clic en Compute Engine. Aquí verás una VM de Linux aprovisionada para ti. Haz clic en el botón SSH junto a la instancia lab-vm.

Página de la instancia de VM de GCE

  1. En el prompt de la terminal de la VM, descarga el archivo Avro que se procesará para su almacenamiento en BigQuery.
wget https://storage.googleapis.com/cloud-training/dataengineering/lab_assets/idegc/campaigns.avro
  1. A continuación, mueve el archivo Avro al bucket de Cloud Storage de la etapa de pruebas que creaste anteriormente.
gcloud storage cp campaigns.avro gs://{{{project_0.project_id |PROJECT_ID}}}
  1. Descarga un archivo que contenga el código de Spark que se ejecutará en el entorno de Dataproc Serverless.
wget https://storage.googleapis.com/cloud-training/dataengineering/lab_assets/idegc/dataproc-templates.zip
  1. Extrae el archivo.
unzip dataproc-templates.zip
  1. Cámbiate al directorio de Python.
cd dataproc-templates/python Descargar los recursos del lab

Tarea 3. Configura y ejecuta el código de Spark

A continuación, vas a establecer algunas variables de entorno en la terminal de la instancia de VM y ejecutarás una plantilla de Spark para cargar datos en BigQuery.

  1. Establece las siguientes variables de entorno para el entorno de Dataproc Serverless.
export GCP_PROJECT={{{project_0.project_id |PROJECT_ID}}} export REGION={{{project_0.default_region |REGION}}} export GCS_STAGING_LOCATION=gs://{{{project_0.project_id |PROJECT_ID}}} export JARS=gs://cloud-training/dataengineering/lab_assets/idegc/spark-bigquery_2.12-20221021-2134.jar
  1. Ejecuta el siguiente código para ejecutar la plantilla de Spark Cloud Storage a BigQuery para cargar el archivo Avro en BigQuery.
./bin/start.sh \ -- --template=GCSTOBIGQUERY \ --gcs.bigquery.input.format="avro" \ --gcs.bigquery.input.location="gs://{{{project_0.project_id |PROJECT_ID}}}" \ --gcs.bigquery.input.inferschema="true" \ --gcs.bigquery.output.dataset="loadavro" \ --gcs.bigquery.output.table="campaigns" \ --gcs.bigquery.output.mode=overwrite\ --gcs.bigquery.temp.bucket.name="{{{project_0.project_id |PROJECT_ID}}}-bqtemp" Nota: Puedes ignorar cualquier advertencia en la que se indique lo siguiente: WARN FileStreamSink: Assume no metadata directory. Error while looking for metadata directory in the path… Como se trata de una prueba pequeña, no es necesario un directorio de metadatos. Nota: Si ves un mensaje de error que indica que el trabajo por lotes falló, espera y, luego, vuelve a ejecutar el comando hasta que el trabajo se complete correctamente. Configurar y ejecutar el código de Spark

Tarea 4. Confirma que los datos se cargaron en BigQuery

Ahora que ejecutaste correctamente la plantilla de Spark, es momento de examinar los resultados en BigQuery.

  1. Visualiza los datos de la nueva tabla en BigQuery.
bq query \ --use_legacy_sql=false \ 'SELECT * FROM `loadavro.campaigns`;'
  1. La consulta debería devolver resultados similares a los siguientes:

Resultado de ejemplo:

+------------+--------+---------------------+--------+---------------------+----------+-----+ | created_at | period | campaign_name | amount | advertising_channel | bid_type | id | +------------+--------+---------------------+--------+---------------------+----------+-----+ | 2020-09-17 | 90 | NA - Video - Other | 41 | Video | CPC | 81 | | 2021-01-19 | 30 | NA - Video - Promo | 325 | Video | CPC | 137 | | 2021-06-28 | 30 | NA - Video - Promo | 78 | Video | CPC | 214 | | 2021-03-15 | 30 | EU - Search - Brand | 465 | Search | CPC | 170 | | 2022-01-01 | 30 | EU - Search - Brand | 83 | Search | CPC | 276 | | 2020-02-18 | 30 | EU - Search - Brand | 30 | Search | CPC | 25 | | 2021-06-08 | 30 | EU - Search - Brand | 172 | Search | CPC | 201 | | 2020-11-29 | 60 | EU - Search - Other | 83 | Search | CPC | 115 | | 2021-09-11 | 30 | EU - Search - Other | 86 | Search | CPC | 237 | | 2022-02-17 | 30 | EU - Search - Other | 64 | Search | CPC | 296 | +------------+--------+---------------------+--------+---------------------+----------+-----+ Confirmar que los datos se cargaron en BigQuery

¡Felicitaciones!

Ejecutaste correctamente una carga de trabajo de Batch a través de Dataproc Serverless para Spark para cargar un archivo Avro en una tabla de BigQuery.

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.