redisgraph-bulk-loader 问题与 csv 文件中的大量数据

redisgraph-bulk-loader issues with huge data in csv file

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

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

_csv.Error: 行包含空字节

如果列值包含引号和逗号,则无效。

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

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

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

Not working if column value contains quotes and comma.

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

UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe8 in position 3565: invalid continuation byte _csv.Error: line contains NULL byte

这些也可能是类型推断逻辑的问题。您可能希望尝试使用引入强制模式的更新分支(即将合并);这也将解决您的第一个问题。 git checkout improve-loader-logic 并按照 the updated branch's docs.

中所述更新了 header 行

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

GraphName should be unique always for each new upload. In this case, if I want to add some more nodes to same graph or if I want establish relationships from some other file how to achieve this.

批量加载器是一个 one-time 工具,目前对现有图表的所有更新都必须使用 Cypher 查询。