arrow_back

Utiliser Dataproc sans serveur pour Spark pour charger une table BigQuery

Accédez à plus de 700 ateliers et cours

Utiliser Dataproc sans serveur pour Spark pour charger une table BigQuery

Atelier 45 minutes universal_currency_alt 5 crédits show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Accédez à plus de 700 ateliers et cours

Présentation

Dataproc sans serveur est un service entièrement géré qui simplifie l'exécution de charges de travail Open Source analytiques et de traitement des données. Avec lui, vous n'avez pas à gérer l'infrastructure, ni à régler manuellement les charges de travail.

Dataproc sans serveur pour Spark offre un environnement optimisé, conçu pour un transfert facile des charges de travail Spark vers Google Cloud.

Dans cet atelier, vous allez exécuter une charge de travail Batch sur un environnement Dataproc sans serveur. Cette charge de travail utilisera un modèle Spark pour traiter un fichier Avro afin de créer et de charger une table BigQuery.

Objectifs de l'atelier

  • Configurer l'environnement
  • Télécharger les éléments de l'atelier
  • Configurer et exécuter le code Spark
  • Consulter les données dans BigQuery

Prérequis

Avant de cliquer sur le bouton Start Lab (Démarrer l'atelier)

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur le bouton "Start Lab" (Démarrer l'atelier), indique combien de temps les ressources cloud resteront accessibles.

Cet atelier pratique Qwiklabs vous permet de suivre vous-même les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud Platform le temps de l'atelier.

Conditions requises

Pour réaliser cet atelier, vous devez remplir les conditions suivantes :

  • Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
  • Vous devez disposer de suffisamment de temps pour réaliser l'atelier en une fois.

Remarque : Si vous possédez déjà un compte ou un projet GCP, veillez à ne pas l'utiliser pour réaliser cet atelier.

Démarrer votre atelier et vous connecter à la console

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, un pop-up s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous verrez un panneau contenant les identifiants temporaires à utiliser pour cet atelier.

    Panneau d'identifiants

  2. Copiez le nom d'utilisateur, puis cliquez sur Ouvrir la console Google. L'atelier lance les ressources, puis la page Sélectionner un compte dans un nouvel onglet.

    Remarque : Ouvrez les onglets dans des fenêtres distinctes, placées côte à côte.
  3. Sur la page "Sélectionner un compte", cliquez sur Utiliser un autre compte. La page de connexion s'affiche.

    Boîte de dialogue "Sélectionner un compte" avec l'option "Utiliser un autre compte" encadrée.

  4. Collez le nom d'utilisateur que vous avez copié dans le panneau "Détails de connexion". Copiez et collez ensuite le mot de passe.

Remarque : Vous devez utiliser les identifiants fournis dans le panneau "Détails de connexion", et non vos identifiants Google Cloud Skills Boost. Si vous possédez un compte Google Cloud, ne vous en servez pas pour cet atelier (vous éviterez ainsi que des frais vous soient facturés).
  1. Accédez aux pages suivantes :
  • Acceptez les conditions d'utilisation.
  • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
  • Ne vous inscrivez pas aux essais offerts.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Vous pouvez afficher le menu qui contient la liste des produits et services Google Cloud en cliquant sur le menu de navigation en haut à gauche. Menu de la console Cloud

Activer Google Cloud Shell

Google Cloud Shell est une machine virtuelle qui contient de nombreux outils pour les développeurs. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud.

Google Cloud Shell vous permet d'accéder à vos ressources Google Cloud grâce à une ligne de commande.

  1. Dans la barre d'outils située en haut à droite dans la console Cloud, cliquez sur le bouton "Ouvrir Cloud Shell".

    Icône Cloud Shell encadrée

  2. Cliquez sur Continuer.

Le provisionnement et la connexion à l'environnement prennent quelques instants. Une fois connecté, vous êtes en principe authentifié et le projet est défini sur votre ID_PROJET. Par exemple :

ID de projet mis en évidence dans le terminal Cloud Shell

gcloud est l'outil de ligne de commande pour Google Cloud. Il est préinstallé sur Cloud Shell et permet la complétion par tabulation.

  • Vous pouvez lister les noms des comptes actifs à l'aide de cette commande :
gcloud auth list

Résultat :

Credentialed accounts: - @.com (active)

Exemple de résultat :

Credentialed accounts: - google1623327_student@qwiklabs.net
  • Vous pouvez lister les ID de projet à l'aide de cette commande :
gcloud config list project

Résultat :

[core] project =

Exemple de résultat :

[core] project = qwiklabs-gcp-44776a13dea667a6 Remarque : Pour consulter la documentation complète sur gcloud, accédez au guide de présentation de la gcloud CLI.

Tâche 1 : Effectuer les tâches de configuration de l'environnement

Vous allez en premier lieu effectuer quelques tâches de configuration de l'environnement afin de permettre l'exécution d'une charge de travail Dataproc sans serveur.

  1. Dans Cloud Shell, exécutez la commande suivante pour activer l'accès via une adresse IP privée :
gcloud compute networks subnets update default --region={{{project_0.default_region |REGION}}} --enable-private-ip-google-access
  1. Utilisez la commande suivante pour créer un bucket Cloud Storage qui servira d'emplacement de préproduction :
gsutil mb -p {{{project_0.project_id |PROJECT_ID}}} gs://{{{project_0.project_id |PROJECT_ID}}}
  1. Utilisez la commande suivante pour créer un autre bucket Cloud Storage qui servira d'emplacement temporaire pour BigQuery pendant la création et le chargement d'une table :
gsutil mb -p {{{project_0.project_id |PROJECT_ID}}} gs://{{{project_0.project_id |PROJECT_ID}}}-bqtemp
  1. Créez un ensemble de données BigQuery pour stocker les données :
bq mk -d loadavro Effectuer les tâches de configuration de l'environnement

Tâche 2 : Télécharger les éléments de l'atelier

Ensuite, vous allez télécharger quelques éléments nécessaires pour effectuer l'atelier dans une VM Compute Engine fournie. Vous effectuerez le reste des étapes de l'atelier dans la VM Compute Engine.

  1. Dans le menu de navigation, cliquez sur Compute Engine. Vous pouvez voir ici qu'une VM Linux a été provisionnée pour vous. Cliquez sur le bouton SSH à côté de l'instance lab-vm.

Page de l'instance de VM GCE

  1. Depuis l'invite de terminal de la VM, téléchargez le fichier Avro qui sera traité pour un stockage dans BigQuery :
wget https://storage.googleapis.com/cloud-training/dataengineering/lab_assets/idegc/campaigns.avro
  1. Ensuite, déplacez le fichier Avro vers le bucket Cloud Storage de préproduction créé précédemment :
gcloud storage cp campaigns.avro gs://{{{project_0.project_id |PROJECT_ID}}}
  1. Téléchargez l'archive contenant le code Spark que vous exécuterez dans l'environnement sans serveur :
wget https://storage.googleapis.com/cloud-training/dataengineering/lab_assets/idegc/dataproc-templates.zip
  1. Extrayez l'archive :
unzip dataproc-templates.zip
  1. Passez au répertoire Python :
cd dataproc-templates/python Télécharger les éléments de l'atelier

Tâche 3 : Configurer et exécuter le code Spark

Vous allez maintenant configurer quelques variables d'environnement dans le terminal de l'instance de VM et exécuter un modèle Spark pour charger des données dans BigQuery.

  1. Définissez les variables d'environnement suivantes pour l'environnement Dataproc sans serveur :
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. Saisissez le code suivant pour exécuter le modèle Spark Cloud Storage vers BigQuery afin de charger le fichier Avro dans 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" Remarque : Vous pouvez ignorer les avertissements WARN FileStreamSink: Assume no metadata directory. Error while looking for metadata directory in the path... Comme il s'agit d'un simple test, aucun répertoire de métadonnées n'est nécessaire. Remarque : Si un message d'erreur indique que le job par lot a échoué, veuillez patienter, puis réexécuter la commande jusqu'à ce que le job aboutisse. Configurer et exécuter le code Spark

Tâche 4 : Vérifier que les données ont bien été chargées dans BigQuery

Maintenant que vous avez exécuté le modèle Spark, il est temps d'examiner les résultats dans BigQuery.

  1. Affichez les données de la nouvelle table dans BigQuery :
bq query \ --use_legacy_sql=false \ 'SELECT * FROM `loadavro.campaigns`;'
  1. La requête devrait renvoyer un résultat semblable à ce qui suit.

Exemple de résultat :

+------------+--------+---------------------+--------+---------------------+----------+-----+ | 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 | +------------+--------+---------------------+--------+---------------------+----------+-----+ Vérifier que les données ont bien été chargées dans BigQuery

Félicitations !

Vous avez exécuté une charge de travail Batch à l'aide de Dataproc sans serveur pour Spark afin de charger un fichier Avro dans une table BigQuery.

Copyright 2020 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

Un atelier à la fois

Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci

Utilisez la navigation privée pour effectuer l'atelier

Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.