本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
neptune.read ()
Neptune 支持从亚马逊 S3 读取数据,然后使用这些数据运行 OpenCypher 查询(读取、插入、更新)的CALL过程neptune.read。该过程将文件中的每一行作为声明的结果变量行生成。它使用调用者的 IAM 凭证来访问 Amazon S3 中的数据。管理 neptune.read () 的权限要设置权限,请参阅。Amazon S3 存储桶的区域必须与实例所在的区域相同。 Amazon 目前,不支持跨区域读取。
语法
CALL neptune.read( { source: "string", format: "parquet/csv", concurrency: 10 } ) YIELD row ...
输入
-
来源(必填)-单个对象的 Amazon S3 URI。不支持多个对象的 Amazon S3 前缀。
-
格式(必填)-
parquet并csv受支持。-
有关所支持的 Parquet 格式的更多详细信息,请参阅支持的镶木地板柱类型。
-
有关支持的 csv 格式的更多信息,请参阅openCypher 数据的加载格式。
-
-
并发(可选)-类型:0 或更大的整数。默认值:0。指定用于读取文件的线程数。如果该值为 0,则将使用资源允许的最大线程数。对于 Parquet,建议将其设置为多个行组。
输出
neptune.read 返回:
-
行-类型:地图
-
文件中的每一行,其中键是列,值是每列中的数据。
-
您可以像访问属性一样访问每列的数据 (
row.col)。
-
neptune.read 的最佳实践 ()
Neptune S3 读取操作可能占用大量内存。请使用非常适合生产工作负载的实例类型,如为 Amazon Neptune 选择实例类型中所述。
neptune.read()请求的内存使用和性能会受到多种因素的影响,例如文件大小、列数、行数和文件格式。根据结构的不同,小文件(例如,100 MB 或更小的 CSV 文件、20MB 或以下的 Parquet 文件)可能在大多数适合生产的实例类型上可靠地运行,而较大的文件可能需要较小的实例类型无法提供的大量内存。
在测试此功能时,建议从小文件开始,然后逐渐扩展,以确保您的读取工作负载可以适应您的实例大小。如果您发现neptune.read()请求导致 out-of-memory异常或实例重启,请考虑将文件拆分为较小的块、降低文件复杂性或升级到更大的实例类型。