-
Notifications
You must be signed in to change notification settings - Fork 528
[OSPP] 开源之夏 proposal
Simon Cheung edited this page Apr 23, 2023
·
34 revisions
大家可以在此按章节, 每个 proposal 一个单独的说明, 内容和大体格式参考官方PDF说明 例如:
- 描述: 关于Spark的集成,目前 hugegraph 社区有 SparkLoader 的实现,但是目前该实现较基础,缺乏批量生成 sst 文件功能,并且对于 spark 开发者而言将 dataframe 写入 hugegraph,需要自己基于 hugegraph-client 实现写数据逻辑,使用成本较高。为了能增加 hugegraph 在大数据处理场景的适用性,更好地与大数据生态集成,本提案需要实现基于 spark datasourceV2 实现通用的 hugegraph-spark-connector,并以此优化现有 SparkLoader。
-
产出标准:
- hugegraph-client 支持生成 sst 文件。
- 基于 spark datasourceV2 0到1实现 hugegraph-spark-connector
- 支持通过 server 进行批量点、边、属性数据写入。
- 支持批量生成 sst 文件。
- SparkLoader 基于 spark-connector 的重构。
- 完成相关UT。
- 完成用户使用文档撰写。
- 技术要求: 熟悉Spark/Flink/hugegraph,具备java和scala研发能力。
发起人: @simon824 (重要紧急)
- 描述:
目前 hugegraph-computer 每次启动一个算法任务将会在
k8s
启动一个master
节点和多个worker
节点并将hugegraph-server
中的图数据进行分片并加载到各 worker 节点上,然后开始并行计算,这个数据分片和加载的流程是非常耗时的,当对同一个图执行不用算法任务时需要再走一遍数据分片加载流程,我们可以将 vertex/edge 生成 snapshot 保存起来,在执行其他算法时worker
可以直接加载 snapshot 来实现一次加载多次执行,这将大大的提高 computer 的执行效率。 - 产出标准:
- 实现 vertex/edge 生成 snapshot 保存到 k8s的 Persistent Volume 并将图的 metadata 保存到 etcd 中。
- 使 computer 支持直接从 k8s的 Persistent Volume 中 recovery vertex/edge snapshot,并跳过数据分片和从
hugegraph-server
中拉取数据的过程。 - 完成 k8s operator 和 API 调用的相关适配。
- 完成相关UT和CI。
- 技术要求: 熟悉分布式计算(图计算更佳)和k8s相关理论知识,具备java研发能力。
发起人: @coderzc (重要不紧急)
- 内存池自己管理内存
- 控制任务资源使用
发起人: @javeme (重要不紧急, 难度较高, 工作量大)
研发需要多久
- 改进原生并行集合 primitive map/set + 实现
- 实现基于 CBO 的查询优化
- 实现图计算框架的向量化计算优化
需求度? 不同语言 discussion 投票 (必要不紧急)
PS: python client 已经在路上
- 适配PD?
- 改进Store?
Documentation license here.