Utiliser les notebooks

Ce guide décrit différentes tâches associées aux notebooks Cloud Datalab.

Contrôler les sources

Lorsque vous exécutez datalab create VM-instance-name pour la première fois, un datalab-notebooks dépôt Cloud Source Repository est ajouté au projet (appelé ci-dessous "dépôt cloud distant"). Il s'agit d'un dépôt distant pour le dépôt Git /content/datalab/notebooks qui est créé dans le conteneur Docker s'exécutant dans votre instance de VM Cloud Datalab (ce dépôt git est appelé "dépôt de la VM Cloud Datalab" ci-dessous). Vous pouvez parcourir le dépôt cloud distant depuis la page Repositories (Dépôts) de Google Cloud Console.

Vous pouvez gérer les notebooks du dépôt de la VM Cloud Datalab à l'aide de git ou ungit.

Utiliser ungit dans votre navigateur

Le conteneur Cloud Datalab inclut ungit, un client git basé sur le Web qui vous permet d'effectuer des commits sur le dépôt de la VM Cloud Datalab et d'y transférer des notebooks depuis l'interface utilisateur du navigateur Cloud Datalab.

Pour ouvrir ungit dans le dépôt Cloud Datalab /content/datalab/notebooks, sélectionnez l'icône du dépôt dans la section supérieure droite de la barre de menu Google Cloud Datalab.

Une fenêtre de navigateur s'ouvre dans le dépôt de la VM Cloud Datalab.

Ajouter un notebook au dépôt cloud distant

  1. Accédez au dossier /datalab/notebooks dans la fenêtre du navigateur de votre notebook Cloud Datalab.

  2. Cliquez sur l'icône "+ Notebook" pour ouvrir un nouveau notebook à partir du dossier /datalab/notebooks.

    1. Ajoutez une ou plusieurs cellules au notebook.
    2. Renommez le notebook en cliquant sur "Untitled Notebook" (Notebook sans titre) dans la barre de menu, puis saisissez "Nouveau notebook".
    3. Sélectionnez Notebook → Save and Checkpoint (Notebook → Enregistrer et effectuer un point de contrôle) (Ctrl+S) ou attendez que le notebook s'enregistre automatiquement.
  3. Revenez à la fenêtre de navigateur de votre notebook Cloud Datalab, puis cliquez sur l'icône ungit pour ouvrir une page de navigateur ungit (consultez la section Utiliser ungit dans votre navigateur pour en savoir plus). Après avoir saisi un titre de commit, vous pouvez valider la création de New Notebook.ipynb dans le dépôt de la VM Cloud Datalab.

  4. Après avoir validé le notebook, transférez-le vers le dépôt cloud distant datalab-notebooks à partir de la page de navigateur ungit.

Utiliser git depuis la ligne de commande

Au lieu d'utiliser ungit depuis l'interface utilisateur de Cloud Datalab pour le contrôle des sources (consultez la section Utiliser ungit dans votre navigateur), vous pouvez vous connecter en SSH à la VM Cloud Datalab et exécuter git à partir d'un terminal sur votre VM ou depuis Cloud Shell. Pour ce faire, procédez comme suit :

  1. Connectez-vous en SSH à la VM Cloud Datalab à l'aide de l'outil de ligne de commande gcloud ou de Cloud Console :

    Commande gcloud

    Exécutez la commande suivante après avoir inséré project-id, zone et instance-name.
    gcloud compute --project project-id ssh 
    --zone zone instance-name

    Console/SHELL

    Accédez à la page Instances de VM de Cloud Console, développez le menu SSH à droite de la ligne de votre VM Cloud Datalab, puis sélectionnez View gcloud command (Afficher la commande gcloud).
    La fenêtre de la ligne de commande gcloud s'ouvre et affiche la commande SSH gcloud que vous pouvez copier et coller pour l'exécuter dans un terminal local.
  2. Après vous être connecté en SSH à la VM Cloud Datalab, exécutez la commande sudo docker ps pour obtenir l'ID de conteneur de l'image Docker Cloud Datalab s'exécutant sur la VM. Copiez l'ID du conteneur associé à la commande /datalab/run.sh et au nom datalab_datalab-server.
    docker ps
    CONTAINER ID  ...    COMMAND   ...   ...   NAMES
    ...
    b228e3392374   ...   "/datalab/run.sh" ... datalab_datalab-server-...
    ...
    
  3. Ouvrez une session d'interface système interactive dans le conteneur à l'aide de l'ID de la dernière étape.
    docker exec -it container-id bash
    ...
    root@datalab-server-vm-name:/#
    
  4. Passez au répertoire /content/datalab/notebooks du conteneur.
    cd /content/datalab/notebooks
    
    Il s'agit du répertoire racine du dépôt de la VM Cloud Datalab à partir duquel vous pouvez lancer des commandes git.
    git status
    On branch master
    nothing to commit, working directory clean
    

Copier des notebooks à partir de la VM Cloud Datalab

Vous pouvez copier des fichiers à partir de votre instance de VM Cloud Datalab à l'aide de la commande gcloud compute scp. Par exemple, pour copier le contenu du répertoire datalab/notebooks de votre VM Cloud Datalab dans un répertoire instance-name - notebooks sur votre ordinateur local, exécutez la commande suivante après avoir remplacé instance-name par le nom de votre VM Datalab (le répertoire instance-name - notebooks sera créé s'il n'existe pas).

gcloud compute scp --recurse \
  datalab@instance-name:/mnt/disks/datalab-pd/content/datalab/notebooks \
  instance-name-notebooks

Sauvegarde Cloud Datalab

Les instances Cloud Datalab sauvegardent régulièrement le contenu de l'utilisateur dans un bucket Google Cloud Storage dans le projet afin d'éviter toute perte accidentelle du contenu en cas de défaillance ou de suppression d'un disque de VM. Par défaut, une instance Cloud Datalab stocke tout le contenu de l'utilisateur sur un disque associé. L'utilitaire de sauvegarde fonctionne à la racine de ce disque. La tâche de sauvegarde est exécutée toutes les dix minutes. Elle crée un fichier ZIP de l’ensemble du disque, le compare au dernier fichier ZIP de sauvegarde, et télécharge le fichier ZIP s’il existe une différence entre les deux, et si un délai suffisant s’est écoulé entre les nouvelles modifications et la dernière sauvegarde. Cloud Datalab importe les fichiers de sauvegarde dans Google Cloud Storage.

Cloud Datalab conserve les 10 dernières sauvegardes horaires, les sept dernières sauvegardes quotidiennes et les 20 dernières sauvegardes hebdomadaires. Il supprime les fichiers de sauvegarde plus anciens pour préserver l'espace. Pour désactiver les sauvegardes, transmettez l'option --no-backups lors de la création d'une instance Cloud Datalab avec la commande datalab create.

Chaque fichier de sauvegarde est nommé à l'aide de la zone et du nom de l'instance de VM, du chemin du répertoire de sauvegarde du notebook dans l'instance, de l'horodatage et d'un tag horaire, quotidien ou hebdomadaire. Par défaut, Cloud Datalab tente de créer le chemin d'accès de sauvegarde $project_id.appspot.com/datalab_backups. Si ce chemin d'accès ne peut pas être créé ou si l'utilisateur ne dispose pas des autorisations nécessaires, Cloud Datalab essaie de créer le chemin $project_id/datalab_backups. Si cette tentative échoue, les sauvegardes échouent sur Google Cloud Storage.

Restaurer des sauvegardes

Pour restaurer une sauvegarde, l'utilisateur sélectionne le fichier de sauvegarde dans Google Cloud Storage en examinant la zone et le nom de la VM, le répertoire du notebook et l'horodatage dans un format lisible.

Exemple de chemin d'accès au fichier de sauvegarde : gs://myproject/datalab-backups/us-central1-b/datalab0125/content/daily-20170127102921 /tmp/backup0127.zip

Cet exemple de sauvegarde a été créé pour la VM datalab0125 dans la zone us-central1-b, et comprend tout le contenu du répertoire /content du notebook. Il a été défini comme point de sauvegarde quotidien le 01/27/2017 à 10:29:21.

Vous pouvez télécharger un fichier ZIP de sauvegarde à partir du navigateur ou à l'aide de l'outil gsutil intégré lors de l'installation du SDK Google Cloud.

  • Pour utiliser le navigateur, accédez à Google Cloud Console, puis sélectionnez Stockage dans la barre latérale de navigation de gauche. Accédez au bucket de sauvegarde Cloud Datalab, puis sélectionnez et téléchargez le fichier ZIP sur le disque.

  • Pour télécharger le fichier de sauvegarde à l'aide de gsutil, exécutez la commande gsutil cp gs://backup_path destination_path. Par exemple, pour sauvegarder et extraire l'exemple de fichier ZIP décrit ci-dessus, exécutez la commande suivante :

    gsutil cp 
    gs://myproject/datalab-backups/us-central1-b/datalab0125/content/daily-20170127102921
    /tmp/backup0127.zip
    unzip -q /tmp/backup0127.zip -d /tmp/restore_location/

Utiliser les données

Cloud Datalab peut accéder aux données qui se trouvent dans l'un des emplacements suivants :

  • Google Cloud Storage : vous pouvez accéder de manière automatisée aux fichiers et aux répertoires de Cloud Storage à l'aide des API datalab.storage (consultez le tutoriel du notebook /datalab/docs/tutorials/Storage/Storage APIs.ipynb).

  • BigQuery : vous pouvez interroger les tables et les vues à l'aide de SQL et des APIdatalab.bigquery (consultez le tutoriel du notebook datalab/docs/tutorials/BigQuery/BigQuery/BigQuery APIs.ipynb)

  • Système de fichiers local sur le disque persistant : vous pouvez créer ou copier des fichiers sur le système de fichiers sur le disque persistant associé à votre VM Cloud Datalab.

Si vos données se trouvent dans un emplacement différent, que ce soit sur site ou dans un autre cloud, vous pouvez les transférer vers Cloud Storage à l'aide de l'outil gsutil ou du service de transfert Cloud Storage.