-
nebula 版本:3.8.0
-
部署方式:分布式,共5台机器,5个graphd服务和5个storaged服务,3台部署了metad服务
-
安装方式: RPM
-
是否上生产环境:Y
-
硬件信息
- 磁盘 :ssd,每台机器配置了12个hdd硬盘,每块硬盘800G容量
- CPU、内存信息:每台机器48核,每台机器内存250G
-
问题的具体描述:
我想查询1000万个节点的1~2跳的其他节点并写入到hive中
我在spark中,用nebula-spark-connector的
val nGQL = s"""GO 1 to 2 STEPS FROM $verticesStr OVER call BIDIRECT YIELD EDGE as relationship"""
spark.read
.nebula(nebulaConfig, batchQueryConfig)
.loadEdgesToDfByNgql()
来执行ngql查询.
这样性能非常不好.因为spark.read.nebula这种API也不能在spark的executor端使用,只能在driver端用.
不知道如何才能正确的完成这个需求呢?
查询1000万个节点的1~2跳的其他节点并写入到hive中