Uso de los cuadernos de gráficos de Neptune para empezar rápidamente - Amazon Neptune

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de los cuadernos de gráficos de Neptune para empezar rápidamente

No tiene que usar cuadernos de gráficos de Neptune para trabajar con un gráfico de Neptune, así que si lo desea, puede continuar y crear una nueva base de datos de Neptune mediante una plantilla de AWS CloudFormation.

Al mismo tiempo, tanto si es nuevo en el mundo de los gráficos y si desea aprender y experimentar, como si ya tiene experiencia y desea afinar sus consultas, el entorno de trabajo de Neptune ofrece un entorno de desarrollo interactivo (IDE) que puede aumentar su productividad al crear aplicaciones gráficas.

Neptune proporciona Jupyter y JupyterLabcuadernos en el proyecto de cuaderno gráfico Neptuno de código abierto y en la mesa de trabajo de Neptune. GitHub Estos cuadernos ofrecen ejemplos de tutoriales de aplicaciones y fragmentos de código en un entorno de codificación interactivo en el que puede aprender sobre la tecnología de gráficos y Neptune. Puede utilizarlos para preparar, configurar, rellenar y consultar gráficos mediante distintos lenguajes de consulta, distintos conjuntos de datos e incluso distintas bases de datos en el backend.

Puede alojar estos cuadernos de varias maneras diferentes:

  • El entorno de trabajo Neptune le permite ejecutar los cuadernos de Jupyter en un entorno totalmente gestionado, alojado en Amazon SageMaker, y carga automáticamente la última versión del proyecto de bloc de notas de gráficos Neptune. Es fácil configurar el entorno de trabajo en la consola de Neptune al crear una nueva base de datos de Neptune.

    nota

    Al crear una instancia de bloc de notas de Neptune, se te proporcionan dos opciones de acceso a la red: acceso directo a través de Amazon SageMaker (la opción predeterminada) y acceso a través de una VPC. En cualquiera de las dos opciones, el portátil requiere acceso a Internet para recuperar las dependencias de los paquetes para instalar el entorno de trabajo de Neptune. La falta de acceso a Internet provocará un error en la creación de una instancia de bloc de notas de Neptune.

  • También puede instalar Jupyter de forma local. Esto le permite ejecutar los cuadernos desde su portátil, conectado a Neptune o a una instancia local de una de las bases de datos de gráficos de código abierto. En este último caso, puede experimentar con la tecnología de gráficos todo lo que desee sin gastar ni un céntimo. Luego, cuando esté listo, podrá pasar sin problemas al entorno de producción administrado que ofrece Neptune.

Uso del entorno de trabajo de Neptune para alojar los cuadernos de Neptune

Neptune ofrece los tipos de instancia T3 y T4g con los que puede empezar por menos de 0,10 USD por hora. Los recursos de Workbench se facturan a través de Amazon SageMaker, aparte de la facturación de Neptune. Consulte la página de precios de Neptune. Tanto Jupyter como JupyterLab los cuadernos creados en el entorno de trabajo de Neptune utilizan un entorno Amazon Linux 2 y 3. JupyterLab Para obtener más información sobre la compatibilidad con JupyterLab ordenadores portátiles, consulta la SageMakerdocumentación de Amazon.

Puede crear un Jupyter o un JupyterLab cuaderno con el banco de trabajo Neptune de dos maneras AWS Management Console :

Para crear un Jupyter o un bloc de notas mediante el menú Cuadernos JupyterLab
  1. Inicie sesión en la consola AWS de administración y abra la consola de Amazon Neptune en https://console.aws.amazon.com/neptune/home.

  2. En el panel de navegación de la izquierda, seleccione Notebooks (Bloc de notas).

  3. Elija Crear cuaderno.

  4. En la lista de clústeres, elija el clúster de base de datos de Neptune. Si todavía no tiene ningún clúster de base de datos, seleccione Create cluster (Crear clúster) para crear uno.

  5. Seleccione un tipo de instancia de cuaderno.

  6. Asigne un nombre al bloc de notas y, opcionalmente, una descripción.

  7. A menos que ya haya creado un rol AWS Identity and Access Management (de IAM) para sus cuadernos, elija Crear un rol de IAM e introduzca un nombre de rol de IAM.

    nota

    Si decide volver a utilizar un rol de IAM, creado para un cuaderno anterior, la política de roles debe incluir los permisos correctos para acceder al clúster de base de datos de Neptune que esté utilizando. Para comprobarlo, verifique que los componentes del ARN del recurso de la acción neptune-db:* coincidan con ese clúster. Los permisos configurados de forma incorrecta provocan errores de conexión al intentar ejecutar los comandos mágicos del cuaderno.

  8. Elija Crear cuaderno. El proceso de creación puede tardar entre 5 y 10 minutos antes de que todo esté listo.

  9. Una vez creado el bloc de notas, selecciónelo y, a continuación, elija Abrir Jupyter o Abrir. JupyterLab

La consola puede crear un rol de AWS Identity and Access Management (IAM) para sus cuadernos, o puede crear uno usted mismo. La política para este rol debe incluir lo siguiente:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::aws-neptune-notebook-(AWS region)", "arn:aws:s3:::aws-neptune-notebook-(AWS region)/*" ] }, { "Effect": "Allow", "Action": "neptune-db:*", "Resource": [ "arn:aws:neptune-db:(AWS region):(AWS account ID):(Neptune resource ID)/*" ] } ] }

Tenga en cuenta que la segunda instrucción de la política anterior enumera uno o varios identificadores de recursos del clúster de Neptune.

Además, el rol debe establecer la siguiente relación de confianza:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }

Una vez más, preparar todo para que funcione puede llevar de 5 a 10 minutos.

Puede configurar el nuevo cuaderno para que funcione con Neptune ML, tal y como se explica en Configuración manual de un cuaderno de Neptune para Neptune ML.

Uso de Python para conectar un SageMaker cuaderno genérico a Neptuno

Conectar una computadora portátil a Neptuno es fácil si tiene instalada la magia de Neptuno, pero también es posible conectar una computadora portátil a SageMaker Neptuno usando Python, incluso si no está usando una computadora portátil Neptuno.

Pasos a seguir para conectarse a Neptune en una celda portátil SageMaker
  1. Instale el cliente Python de Gremlin:

    !pip install gremlinpython

    Las libretas Neptune instalan el cliente Python Gremlin por ti, por lo que este paso solo es necesario si utilizas una libreta normal. SageMaker

  2. Escriba un código como el siguiente para conectarse y emitir una consulta de Gremlin:

    from gremlin_python import statics from gremlin_python.structure.graph import Graph from gremlin_python.process.graph_traversal import __ from gremlin_python.process.strategies import * from gremlin_python.driver.driver_remote_connection import DriverRemoteConnection from gremlin_python.driver.aiohttp.transport import AiohttpTransport from gremlin_python.process.traversal import * import os port = 8182 server = '(your server endpoint)' endpoint = f'wss://{server}:{port}/gremlin' graph=Graph() connection = DriverRemoteConnection(endpoint,'g', transport_factory=lambda:AiohttpTransport(call_from_event_loop=True)) g = graph.traversal().withRemote(connection) results = (g.V().hasLabel('airport') .sample(10) .order() .by('code') .local(__.values('code','city').fold()) .toList()) # Print the results in a tabular form with a row index for i,c in enumerate(results,1): print("%3d %4s %s" % (i,c[0],c[1])) connection.close()
nota

Si está usando una versión del cliente Python de Gremlin anterior a la 3.5.0, esta línea:

connection = DriverRemoteConnection(endpoint,'g', transport_factory=lambda:AiohttpTransport(call_from_event_loop=True))

Simplemente sería:

connection = DriverRemoteConnection(endpoint,'g')

Habilitación CloudWatch de registros en los cuadernos Neptune

CloudWatch Los registros ahora están habilitados de forma predeterminada para los cuadernos Neptune. Si tiene un portátil antiguo que no produce CloudWatch registros, siga estos pasos para habilitarlos manualmente:

  1. Inicie sesión en la SageMaker consola AWS Management Console y ábrala.

  2. En el panel de navegación de la izquierda, seleccione Cuaderno y, a continuación, Instancias de cuaderno. Busque el nombre del cuaderno de Neptune para el que desea habilitar los registros.

  3. Seleccione el nombre de esa instancia de cuaderno para ir a la página de detalles.

  4. Si la instancia del cuaderno se está ejecutando, seleccione el botón Detener, situado en la parte superior derecha de la página de detalles del cuaderno.

  5. En Permisos y cifrado hay un campo para el ARN del rol de IAM. Seleccione el enlace de este campo para ir al rol de IAM con el que se ejecuta esta instancia de cuaderno.

  6. Cree la política siguiente:

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:CreateLogDelivery", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DeleteLogDelivery", "logs:Describe*", "logs:GetLogDelivery", "logs:GetLogEvents", "logs:ListLogDeliveries", "logs:PutLogEvents", "logs:PutResourcePolicy", "logs:UpdateLogDelivery" ], "Resource": "*" } ] }
  7. Guarde esta nueva política y adjúntela al rol de IAM que se encuentra en el paso 4.

  8. Haz clic en Iniciar en la parte superior derecha de la página de detalles de la instancia del SageMaker bloc de notas.

  9. Cuando los registros comiencen a fluir, debería ver el enlace Ver registros debajo del campo denominado Configuración del ciclo de vida, cerca de la parte inferior izquierda de la sección Configuración de instancias de cuaderno de la página de detalles.

Si un bloc de notas no se inicia, aparecerá un mensaje en la página de detalles del bloc de notas de la SageMaker consola en el que se indica que la instancia del bloc de notas ha tardado más de 5 minutos en iniciarse. CloudWatch Los registros relacionados con este problema se encuentran con este nombre:

(your-notebook-name)/LifecycleConfigOnStart

Configuración de cuadernos de gráficos en una máquina local

El proyecto de cuaderno de gráficos incluye instrucciones para configurar los cuadernos de Neptune en una máquina local:

Puede conectar sus cuadernos locales a un clúster de base de datos de Neptune o a una instancia local o remota de una base de datos de gráficos de código abierto.

Uso de cuadernos de Neptune con clústeres de Neptune

Si te estás conectando a un clúster de Neptune en el back-end, es posible que desees ejecutar los cuadernos en Amazon. SageMaker Conectarse a Neptune desde SageMaker puede resultar más cómodo que desde una instalación local de los portátiles, y le permitirá trabajar más fácilmente con Neptune ML.

Para obtener instrucciones sobre cómo configurar las libretas en SageMaker, consulta Cómo lanzar graph-notebook con Amazon. SageMaker

Para obtener instrucciones sobre cómo configurar Neptune, consulte Configuración de Neptune.

También puede conectar una instalación local de los cuadernos de Neptune a un clúster de base de datos de Neptune. Esto puede resultar algo más complicado porque los clústeres de bases de datos de Amazon Neptune solo se pueden crear en una nube Amazon Virtual Private Cloud (VPC), que, por diseño, está aislada del mundo exterior. Hay varias formas de conectarse a una VPC desde fuera de ella. Una de ellas es usar un equilibrador de carga. Otra opción es utilizar la interconexión con VPC (consulte la Guía de interconexión de Amazon Virtual Private Cloud).

Sin embargo, la forma más práctica para la mayoría de las personas es conectarse para configurar un servidor proxy Amazon EC2 dentro de la VPC y, a continuación, utilizar la tunelización de SSH (también denominada reenvío de puertos) para conectarse a él. Encontrará instrucciones sobre cómo configurarlo en Conectar un cuaderno de gráficos localmente a Amazon Neptune, en la additional-databases/neptune carpeta del proyecto de cuaderno de gráficos GitHub .

Uso de cuadernos de Neptune con bases de datos de gráficos de código abierto

Para empezar a utilizar la tecnología de gráficos sin costo alguno, también puede utilizar los cuadernos de Neptune con varias bases de datos de código abierto en el backend. Algunos ejemplos son el servidor TinkerPop Gremlin y la base de datos Blazegraph.

Para usar el servidor de Gremlin como base de datos backend, siga las instrucciones que se encuentran en:

Para usar una instancia local de Blazegraph como base de datos backend, siga estas instrucciones:

Migración de tus cuadernos Neptune de Jupyter a 3 JupyterLab

Los cuadernos de Neptune creados antes del 21 de diciembre de 2022 utilizan el entorno de Amazon Linux 1. Puede migrar cuadernos Jupyter antiguos creados antes de esa fecha al nuevo entorno Amazon Linux 2 con JupyterLab 3 siguiendo los pasos descritos en esta entrada de AWS blog: Migrar su trabajo a una instancia de Amazon SageMaker Notebook con Amazon Linux 2.

Además, también hay algunos pasos más que se aplican específicamente a la migración de los cuadernos de Neptune al nuevo entorno:

Requisitos previos específicos de Neptune

En el rol de IAM del cuaderno de Neptune de origen, añada todos los permisos siguientes:

{ "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket", "s3:CreateBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::(your ebs backup bucket name)", "arn:aws:s3:::(your ebs backup bucket name)/*" ] }, { "Effect": "Allow", "Action": [ "sagemaker:ListTags" ], "Resource": [ "*" ] }

Asegúrese de especificar el ARN correcto para el bucket S3 que utilizará para realizar la copia de seguridad.

Configuración del ciclo de vida específica de Neptune

Al crear el segundo script de configuración del ciclo de vida para restaurar la copia de seguridad (desde on-create.sh), tal y como se describe en la publicación del blog, el nombre del ciclo de vida debe seguir el mismo formato de aws-neptune-*, por ejemplo aws-neptune-sync-from-s3. Esto garantiza que se pueda seleccionar la LCC durante la creación del cuaderno en la consola de Neptune.

Sincronización específica de Neptune a partir de una instantánea a una nueva instancia

En los pasos descritos en la publicación del blog para la sincronización de una instantánea a una nueva instancia, puede encontrar los cambios específicos de Neptune:

  • En el paso 4, seleccione notebook-al2-v2.

  • En el paso 5, vuelva a utilizar el rol de IAM del cuaderno de Neptune de origen.

  • Entre los pasos 7 y 8:

    • En Configuración de instancias de cuaderno, establezca un nombre que utilice el formato de aws-neptune-*.

    • Abra el acordeón de configuración de Red y seleccione la misma VPC, subred y grupo de seguridad que en el cuaderno de origen.

Pasos específicos de Neptune tras la creación del nuevo cuaderno

  1. Seleccione el botón Abrir Jupyter para el cuaderno. Una vez que el archivo SYNC_COMPLETE aparezca en el directorio principal, continúe con el siguiente paso.

  2. Ve a la página de instancias de bloc de notas de la consola. SageMaker

  3. Detenga el bloc de notas.

  4. Seleccione Editar.

  5. En la configuración de la instancia del cuaderno, edite el campo Configuración del ciclo de vida. Para ello, seleccione el ciclo de vida original del cuaderno de Neptune de origen. Tenga en cuenta que este no es el ciclo de vida de las copias de seguridad de EBS.

  6. Seleccione Actualizar la configuración del cuaderno.

  7. Vuelva a iniciar el cuaderno.

Con las modificaciones que se describen aquí en los pasos descritos en la entrada del blog, sus cuadernos de gráficos ahora deberían migrarse a una nueva instancia de bloc de notas de Neptune que utilice el entorno Amazon Linux 2 JupyterLab y 3. Aparecerán para su acceso y administración en la página de Neptune del AWS Management Console, y ahora puedes continuar tu trabajo desde donde lo dejaste seleccionando Abrir Jupyter o Abrir. JupyterLab