白玉汤儿
1
- nebula 版本:3.0.0
- Exchange版本:nebula-exchange_spark_2.4-3.0.0.jar
- studio版本:v3.2.1
- spark版本:2.3.0
- 部署方式:分布式
- 安装方式: RPM
- 是否上生产环境:Y
- 硬件信息
导入7亿个顶点,sql语句就是select 字段 from 表,但是看spark任务的DAG,大量的时间都消耗在shuffle的read部分了.
目前我有几个想法,不知这些思路是否能优化shuffle?
1.减少spark-submit的excutor的数量
2.修改nebulaExchange.jar的源码,看看是否有repartiton算子,把该算子去掉,再打包使用
3.减少图库中存储的属性数量,非必须的属性去掉
nicole
2
可以用更新的版本
把配置文件中每个node和edge 结构下的partition设置成-1, 这样就不会做shuffle操作,会采用和源数据相同的分区进行数据写入。
1 个赞
白玉汤儿
3
我试试,您说的是nebula的新版本可以修改这个配置吗
nicole
4
其实你用的版本 也是支持partition设成-1 等小于0的数的,只要partition 小于0 就不会做repartition
system
关闭
5
此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。