1

以下是我在尝试上传包含大约一百万条记录的文件时遇到的几个问题。帮我解决问题。当我试图在博客中找到解决方案时,所有人都建议修改一些逻辑。但我直接使用 redisgraph-bulk-loader 实用程序。

UnicodeDecodeError:“utf-8”编解码器无法解码位置 3565 中的字节 0xe8:无效的继续字节

_csv.Error:行包含 NULL 字节

如果列值包含引号和逗号,则不起作用。

redisgraph_bulk_loader.bulk_insert.CSVError: /home/ec2-user/test.csv:2 预期 4 列,遇到 5 ('1,3,4,"5,6"')

对于每次新上传,GraphName 应该始终是唯一的。在这种情况下,如果我想在同一个图中添加更多节点,或者我想从其他文件建立关系,如何实现这一点。

4

1 回答 1

2

正如您在redisgraph-bulk-loader 存储库上打开的问题中所回答的那样:

如果列值包含引号和逗号,则不起作用。

这可以通过使用--quote参数来改变输入引用行为来解决。然而,下一个建议将使这变得不必要。

UnicodeDecodeError:“utf-8”编解码器无法解码位置 3565 中的字节 0xe8:无效的继续字节 _csv.Error:行包含 NULL 字节

这些也可能是类型推断逻辑的问题。您可能希望尝试使用引入强制模式的更新分支(即将合并);这也将解决您的第一个问题。 并按照更新分支的文档中的git checkout improve-loader-logic 描述更新了标题行。

如果这不能解决您的问题,您可能需要更深入地研究编码问题。

对于每次新上传,GraphName 应该始终是唯一的。在这种情况下,如果我想在同一个图中添加更多节点,或者我想从其他文件建立关系,如何实现这一点。

批量加载器是一种一次性工具,目前对现有图表的所有更新都必须使用 Cypher 查询进行。

于 2020-06-12T14:24:37.887 回答