Utiliser le langage R avec BigQuery

Sur cette page, nous vous expliquons comment charger des données à partir de BigQuery dans un DataFrame R à l'aide d'un package R bigrquery.

Avant de commencer

Avant de commencer, créez une instance AI Platform Notebooks pour R.

Créer une clé de compte de service BigQuery

Pour créer une clé de compte de service BigQuery, procédez comme suit :

  1. Accédez à la page Identifiants des API et des services de la console Google Cloud Platform.

    Accéder à la page "Identifiants des API et des services".

  2. Sélectionnez Create credentials (Créer des identifiants) > Service account key (Clé de compte de service).

    Créer un identifiant

  3. Dans le menu déroulant Service account (Compte de service), sélectionnez un identifiant existant disposant d'un accès BigQuery, ou sélectionnez New service account (Nouveau compte de service) pour en créer un.

    Pour créer un compte de service, saisissez le Service account name (Nom du compte de service). Dans le menu déroulant Role (Rôle), sélectionnez BigQuery, puis sélectionnez le rôle que vous souhaitez attribuer, par exemple "BigQuery Admin" (Administrateur BigQuery).

    Créer un compte de service

  4. Sélectionnez "JSON" comme "Key type" (Type de clé).

    Sélectionner JSON

  5. Cliquez sur Create (Créer). Le navigateur télécharge un fichier JSON contenant la clé du compte de service. Ce fichier permet d'accéder à vos ressources. Conservez-le en lieu sûr.

  6. Cliquez sur Fermer pour fermer le message Clé privée enregistrée sur votre ordinateur.

Charger des données à partir de BigQuery à l'aide du langage R

Pour charger des données à partir de BigQuery à l'aide d'un package R bigrquery, suivez la procédure suivante :

  1. Accédez à la page AI Platform Notebooks de la console Google Cloud Platform.

    Accéder à la page "AI Platform Notebooks"

  2. Sélectionnez Open JupyterLab (Ouvrir JupyterLab) pour l'instance R que vous souhaitez ouvrir.

    Ouvrir JupyterLab

  3. Cliquez sur le bouton Importer des fichiers.

    Bouton "Importer des fichiers"

  4. Accédez au fichier JSON que vous avez créé, sélectionnez-le, puis cliquez sur Ouvrir pour l'importer.

  5. Sélectionnez File -> New -> Notebook (Fichier -> Nouveau -> Notebook), puis sélectionnez le noyau R.

    Ajouter un notebook R

  6. Dans la première cellule du notebook, saisissez le code suivant : library("bigrquery").

    Saisir le code dans la première cellule

  7. Cliquez sur le bouton "Exécuter" pour exécuter la commande. R charge le package bigrquery.

    Bouton "Exécuter"

  8. Pour ajouter une cellule de code au notebook, cliquez sur le bouton "+" de ce dernier.

    Bouton "+"

  9. Dans la nouvelle cellule, saisissez l'exemple de code suivant. Remplacez path-name.json par le chemin d'accès au fichier JSON du compte de service de l'instance de notebook, puis remplacez project-id par votre ID de projet Google Cloud Platform.

    Pour copier le chemin d'accès au fichier JSON, cliquez avec le bouton droit (Cmd + clic sur Mac) sur le nom du fichier dans l'explorateur de fichiers JupyterLab, puis sélectionnez Copier le chemin d'accès.

    Pour obtenir votre ID de projet, cliquez sur la flèche du menu déroulant à côté du nom de votre projet dans la console Google Cloud Platform.

    # Provide authentication through the JSON service account key
    path="path-name.json"
    set_service_token(path)
    
    # Store the project id
    projectid="project-id"
    
    # Set your query
    sql <- "SELECT year, month, day, weight_pounds FROM 'publicdata.samples.natality' limit 100"
    
    # Run the query and store the data in a dataframe
    tb <- bq_project_query(query=sql,x=projectid)
    df <- bq_table_download(tb)
    
    # View the query result
    df
    
  10. Exécutez la cellule pour afficher 100 lignes de données à partir de l'un des ensembles de données publics de BigQuery.

Étape suivante

Consultez la documentation sur bigrquery pour apprendre à utiliser les données BigQuery dans les notebooks R.

Cette page vous a-t-elle été utile ? Évaluez-la :

Envoyer des commentaires concernant…