Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

euler2使用大json输入问题 #319

Open
August2016 opened this issue Dec 3, 2020 · 4 comments
Open

euler2使用大json输入问题 #319

August2016 opened this issue Dec 3, 2020 · 4 comments

Comments

@August2016
Copy link

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

@August2016
Copy link
Author

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

@leepwang
Copy link

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

@lmdestiny
Copy link

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

@lmdestiny
Copy link

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants