Trabajar con notebooks

En esta guía, se explican las diferentes tareas asociadas con los notebooks de Cloud Datalab.

Control de la fuente

Cuando se ejecuta datalab create VM-instance-name por primera vez, se agrega un Cloud Source Repository datalab-notebooks al proyecto (llamado “Cloud Remote Repo” en el resto del documento). Este es un repositorio remoto para el repositorio de Git /content/datalab/notebooks que se crea en el contenedor de Docker que se ejecuta en la instancia de VM de Cloud Datalab (llamada “Cloud Datalab VM Repo” en el resto del documento). Cloud Remote Repo se puede explorar desde la página Repositories (Repositorios) de Google Cloud Platform Console.

Con git o ungit puedes administrar los notebooks de Cloud Datalab VM Repo.

Usar ungit en el navegador

El contenedor de Cloud Datalab incluye ungit, un cliente de Git basado en la Web que te permite confirmar elementos en Cloud Datalab VM Repo y enviar notebooks a Cloud Remote Repo desde la IU del navegador de Cloud Datalab.

Selecciona el ícono de repositorio de la sección superior derecha de la barra de menú de Google Cloud Datalab para abrir ungit en el repositorio /content/datalab/notebooks de la herramienta.

Se abrirá una ventana de navegación en Cloud Datalab VM Repo.

Agregar un notebook a Cloud Remote Repo

  1. Navega hasta la carpeta /datalab/notebooks en la ventana de navegación del notebook de Cloud Datalab.

  2. Abre un notebook nuevo desde la carpeta /datalab/notebooks. Para ello, selecciona el ícono “+ Notebook”.

    1. Agrega una o más celdas al notebook.
    2. Haz clic en “Untitled Notebook” (Notebook sin nombre) en la barra de menú y cambia el nombre a “New Notebook” (Notebook nuevo).
    3. Selecciona Notebook → Save and Checkpoint (Notebook → Guardar y crear punto de control) (Ctrl + S) o espera hasta que el notebook se guarde automáticamente.
  3. Regresa a la ventana del navegador del notebook de Cloud Datalab y haz clic en el ícono de ungit para abrir una página del navegador (consulta Usar ungit en el navegador). Después de ingresar un título de confirmación, New Notebook.ipynb estará listo para su confirmación en Cloud Datalab VM Repo.

  4. Una vez confirmado el notebook, envíalo al Cloud Remote Repo datalab-notebooks desde la página del navegador de ungit.

Usar git desde la línea de comandos

En lugar de usar ungit desde la IU de Cloud Datalab para el control de la fuente (consulta Usar ungit en el navegador), puedes conectarte mediante SSH a la VM de Cloud Datalab y ejecutar git desde una terminal que se ejecute en la VM o desde Cloud Shell. A continuación, se indican los pasos que debes seguir:

  1. Conéctate a la VM de Cloud Datalab mediante SSH a través de la herramienta de línea de comandos de gcloud o GCP Console.

    Comando de gcloud

    Después de insertar project-id, instance-name y zone, ejecuta el siguiente comando:
    gcloud compute --project project-id ssh 
    --zone zone instance-name

    Console/SHELL

    Ve a la sección VM instances (Instancias de VM) de GCP Console, expande el menú SSH a la derecha de la fila Cloud Datalab VM (VM de Cloud Datalab) y selecciona View gcloud command (Ver comando de gcloud).
    Se abrirá la ventana “gcloud command line” (línea de comandos de gcloud), donde aparece el comando SSH de gcloud que puedes copiar y pegar para ejecutarlo en una terminal local.
  2. Después de conectarte mediante SSH a la VM de Cloud Datalab, ejecuta el comando sudo docker ps para enumerar el Container ID (ID de contenedor) de la imagen de Docker de Cloud Datalab que se ejecuta en la VM. Copia el ID de contenedor asociado con el comando /datalab/run.sh y el nombre datalab_datalab-server.
    docker ps
    CONTAINER ID  ...    COMMAND   ...   ...   NAMES
    ...
    b228e3392374   ...   "/datalab/run.sh" ... datalab_datalab-server-...
    ...
    
  3. Usa el ID de contenedor del paso anterior para abrir una sesión interactiva de shell dentro del contenedor.
    docker exec -it container-id bash
    ...
    root@datalab-server-vm-name:/#
    
  4. Cambia al directorio /content/datalab/notebooks en el contenedor:
    cd /content/datalab/notebooks
    
    Este es el directorio raíz de Cloud Datalab VM Repo git, desde el cual puedes emitir comandos de Git.
    git status
    On branch master
    nothing to commit, working directory clean
    

Copiar notebooks desde la VM de Cloud Datalab

Con el comando gcloud compute scp, puedes copiar archivos desde la instancia de VM de Cloud Datalab. Por ejemplo, si quieres copiar el contenido del directorio datalab/notebooks de la VM de Cloud Datalab en el directorio instance-name-notebooks de tu máquina local, ejecuta el siguiente comando después de reemplazar instance-name con el nombre de tu VM de Cloud Datalab (el directorio instance-name-notebooks se creará si no existe).

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

Copias de seguridad de Cloud Datalab

Para prevenir la pérdida accidental del contenido de los usuarios si se produce una falla o la eliminación de un disco de la VM, las instancias de Cloud Datalab crean copias de seguridad de este contenido de forma periódica en un depósito de Google Cloud Storage. Según la configuración predeterminada, las instancias de Cloud Datalab almacenan todo el contenido de los usuarios en los discos conectados, además la utilidad de copias de seguridad funciona en la raíz de estos discos. Los trabajos de copia de seguridad se ejecutan cada diez minutos, se crea un archivo ZIP del disco completo, se lo compara con la copia de seguridad más reciente, se sube el archivo si se encuentran diferencias entre ambos y si ha transcurrido tiempo suficiente entre la aplicación de los cambios nuevos y la última copia de seguridad. Cloud Datalab sube los archivos de copia de seguridad a Google Cloud Storage.

Cloud Datalab retiene las 10 últimas copias de seguridad por hora, 7 copias diarias y 20 copias semanales, además borra los archivos de copia de seguridad más antiguos para conservar espacio. Las copias de seguridad se pueden inhabilitar si se pasa la marca --no-backups cuando se crea una instancia de Cloud Datalab con el comando datalab create.

Los nombres de los archivos de copia de seguridad se generan con la zona de la instancia de VM, el nombre de la instancia, la ruta del directorio de la copia de seguridad del notebook dentro de la instancia, la marca de tiempo y una etiqueta, que puede ser por hora, diaria o semanal. Según la configuración predeterminada, Cloud Datalab intentará crear la ruta $project_id.appspot.com/datalab_backups para las copias de seguridad. Si no se puede crear la ruta o el usuario no tiene los permisos suficientes, se intentará crear la ruta $project_id/datalab_backups. Si falla este intento, no se podrán realizar copias de seguridad en Google Cloud Storage.

Restablecer las copias de seguridad

Para restablecer una copia de seguridad, el usuario debe examinar la zona y el nombre de la VM, el directorio del notebook y la marca de tiempo legible para seleccionar el archivo de copia de seguridad de Google Cloud Storage.

Ejemplo de la ruta de acceso de un archivo de copia de seguridad: gs://myproject/datalab-backups/us-central1-b/datalab0125/content/daily-20170127102921 /tmp/backup0127.zip

Esta copia de seguridad de ejemplo se creó para la VM datalab0125 en la zona us-central1-b y todo su contenido está en el directorio /content del notebook. Se creó como un punto de copia de seguridad diario (daily) en la fecha 01/27/2017 a las 10:29:21.

Se puede descargar un archivo ZIP de copia de seguridad desde el navegador o con la herramienta gsutil, que se incluye en la instalación del SDK de Google Cloud.

  • Ve a Google Cloud Platform Console para usar el navegador y selecciona Storage en la barra lateral de navegación de la izquierda. Navega hasta el depósito de la copia de seguridad de Cloud Datalab, luego, selecciona y descarga el archivo ZIP en el disco.

  • Ejecuta gsutil cp gs://backup_path destination_path para descargar el archivo de la copia de seguridad con gsutil. Por ejemplo, para crear una copia de seguridad y extraer el archivo ZIP de ejemplo que se mencionó anteriormente:

    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/

Trabajar con datos

Cloud Datalab puede acceder a los datos almacenados en cualquiera de los siguientes lugares:

  • Google Cloud Storage: Se puede acceder a los archivos y directorios de Cloud Storage de manera programática mediante las API de datalab.storage (consulta el instructivo del notebook /datalab/docs/tutorials/Storage/Storage APIs.ipynb).

  • BigQuery: Se pueden realizar consultas en las tablas y vistas mediante SQL y las API de datalab.bigquery (consulta el instructivo del notebook datalab/docs/tutorials/BigQuery/BigQuery/BigQuery APIs.ipynb).

  • Sistema de archivos local en el disco persistente: Puedes crear o copiar archivos en el sistema del disco persistente conectado a la VM de Cloud Datalab.

Si tus datos están en otra ubicación, como a nivel local o en otro sistema de nube, puedes transferirlos a Cloud Storage con la herramienta gsutil o el servicio de transferencia de Cloud Storage.

¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Cloud Datalab
¿Necesitas ayuda? Visita nuestra página de asistencia.