alibaba / euler

A distributed graph deep learning framework.
Apache License 2.0
2.89k stars 559 forks source link

euler2使用大json输入问题 #319

Open August2016 opened 3 years ago

August2016 commented 3 years ago

Euler 2.0单文件json格式图输入,是否意味着大数据量的时候转换json格式是个问题

August2016 commented 3 years ago

看文档转换json格式的对应较大的话一定会遇到oom的问题,有什么解决办法吗

leepwang commented 3 years ago

你好,我们在处理euler2二进制数据时,也有类似的担忧: 主要是大json对内存的要求,以及整个数据流程的耗时问题(涉及到文件IO较多)。 我们的解决方案是: 把 euler2 数据生成的代码,在spark数据处理过程中,把需要用到的功能几乎是翻译实现了一遍(主要是json2meta.py, json2partdat.py, json2partindex.py等,代码逻辑不太复杂); 主要需要关注的点: 二进制数据byte[ ] 的处理,我们是借助了ByteArrayOutputStream 相关的开源库。 最后的结果是:对于大几百G的图数据,生成euler2 的(node/edge/index)数据,基本可以在10几分钟内完成(和资源/并行度也有关系) 还是期望阿里官方能够提供该功能,期望能帮到你,我这边是美团的,如果是同公司的,可以更进一步详细交流

lmdestiny commented 2 years ago

您好,我这边也想使用spark重写数据处理的逻辑,想请教下有没有遇到什么问题。因为官方是用python的 struct的库来生成二进制的,但是java应该是没有类似的方式

lmdestiny commented 2 years ago

@leepwang 您好,我这边也想使用spark重写数据处理的逻辑,想请教下有没有遇到什么问题。因为官方是用python的 struct的库来生成二进制的,但是java应该是没有类似的方式