使用 Neptune Jupyter 笔记本电脑进行设置 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 Neptune Jupyter 笔记本电脑进行设置

中的笔记本图形笔记本项目都是开源的,位于/src/graph_笔记本/笔记本电脑图形笔记本 GitHub 存储库的文件夹。

您可以使用它们在后端使用不同的查询语言、不同的数据集甚至不同的数据库来设置、配置、填充和查询图表。

使用 Neptune 工作台托管 Neptune 笔记本

开始使用 Amazon Neptune 的一种简单方法是使用 Neptune 工作台。通过 Workbench,您可以使用 Amazon SageMaker 托管的 Jupyter 笔记本(包括 Neptune 在图形笔记本项目。

Neptune 提供T3您只需 0.10 美元/小时就可以开始使用的实例类型(请参阅Neptune 定价页面)。

通过 Amazon SageMaker 向您收取 Workbench 的费用,与 Neptune 账单分开。

您可以使用 Neptune 控制台在 Amazon SageMaker 中设置 Neptune 工作台并加载 Neptune 笔记本电脑,或者自己创建新的 Jupyter 笔记本:

使用 Neptune 工作台创建 Jupyter 笔记本

  1. 确保在运行 Neptune 的 VPC 中附加的安全组具有允许来自 SageMaker 的入站连接的规则。

  2. 登录到Amazon管理控制台,并在以下网址打开 Amazon Neptune 控制台:https://console.aws.amazon.com/neptune/home.

  3. 在左侧的导航窗格中,选择 Notebooks (笔记本)

  4. 选择 Create Notebook (创建笔记本)

  5. 群集列表中,选择您的 Neptune 数据库集群。如果您还没有数据库集群,请选择 Create cluster (创建集群) 以创建一个。

  6. 为您的笔记本提供一个名称以及可选的描述。

  7. 除非你已经创建了Amazon Identity and Access Management笔记本的 (IAM) 角色,请选择创建 IAM 角色,然后输入 IAM 角色名称。

  8. 选择 Create Notebook (创建笔记本)。创建过程可能需要 10 到 15 分钟才能准备好一切。

  9. 创建笔记本后,选择它,然后选择 Open notebook (打开笔记本)

控制台可以创建Amazon Identity and Access Management(IAM)角色,您也可以自己创建笔记本。此角色的策略应包括以下内容:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::aws-neptune-notebook", "arn:aws:s3:::aws-neptune-notebook/*" ] }, { "Effect": "Allow", "Action": "neptune-db:connect", "Resource": [ "your-cluster-arn/*" ] } ] }

此外,角色应建立以下信任关系:

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

同样,准备好一切可能需要 10 到 15 分钟。

使用 Python 将通用的 SageMaker 笔记本连接到 Neptune

如果你已经安装了 Neptune 魔术,将笔记本电脑连接到 Neptune 很容易,但是即使你没有使用 Neptune 笔记本,也可以使用 Python 将 SageMaker 笔记本连接到 Neptune。

在 SageMaker 笔记本电脑单元中连接到 Neptune 需要采取的步骤

  1. 安装 Gremlin Python 客户端:

    !pip install gremlinpython

    Neptune 笔记本电脑为你安装 Gremlin Python 客户端,因此只有在使用普通的 SageMaker 笔记本时才需要执行此步骤。

  2. 编写如下代码以连接并发出 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()
注意

如果你碰巧使用的是早于 3.5.0 的 Gremlin Python 客户端版本,那么这一行:

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

只是:

connection = DriverRemoteConnection(endpoint,'g')

在本地计算机上设置图形笔记本

图形笔记本项目有在本地计算机上设置 Neptune 笔记本电脑的说明:

您可以将本地笔记本电脑连接到 Neptune 数据库集群,或者连接到开源图形数据库的本地或远程实例。

将 Neptune 笔记本与 Neptune 集群一起使

如果您要在后端连接到 Neptune 群集,则可能需要在 Amazon SageMaker 中运行笔记本电脑。从 SageMaker 连接到 Neptune 比通过本地安装笔记本电脑更方便,它可以让你更轻松地使用Neptune ML.

有关如何在 SageMaker 中设置笔记本的说明,请参阅使用 Amazon SageMaker 启动图形笔记本.

有关如何设置和配置 Neptune 本身的说明,请参阅设置 Neptune.

您还可以将 Neptune 笔记本电脑的本地安装连接到 Neptune 数据库集群。这可能会更复杂一些,因为 Amazon Neptune 数据库集群只能在 Amazon Virtual Private Cloud (VPC) 中创建,该云设计与外界隔离。有多种方法可以从外部连接到 VPC。一是使用负载均衡器。另一种是使用 VPC 对等互连(请参阅Amazon Virtual Private Cloud Pepering 指南)。

但是,对于大多数人来说,最方便的方法是连接以在 VPC 内设置 Amazon EC2 代理服务器,然后使用SSH 隧道隧道(也称为端口转发),以连接到它。您可以在以下网址找到有关如何设置的说明:将图形笔记本电脑本地连接到 Amazon Neptune中的additional-databases/neptune的文件夹图形笔记本GitHub 项目。

将 Neptune 笔记本与开源图数据库结合使用

要免费开始使用图形技术,您还可以将 Neptune 笔记本电脑与后端的各种开源数据库结合使用。例如 TinkerPopGrelin 服务器,以及Blazegraph数据库。

要使用 Gremlin Server 作为后端数据库,请按照以下说明操作:

使用的本地实例Blazegraph作为后端数据库,请按照以下说明操作: