添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
  • 是否为线上版本:N
  • 在跑PageRank算法的时候,由于数据倾斜导致任务长时间无法完成,于是修改提交参数和算法配置重新运行,增加spark-submit参数–conf spark.default.parallelism=500 不生效,应该是运行时有重新设置了分区,在算法配置文件中增加 spark.app.partitionNum=500 后该参数也不生效,分区数始终为200,nebula图空间创建时为默认分区100
    问题:请问跑算法任务时如何设置分区数呢?

    经过测试发现
    1、nebula图空间创建时为默认分区100,在算法配置文件中指定了两种关系类型,分区数: nebula.partitionNumber * 关系类型个数 ,所以分区数为200,同时也可以指定nebula.partitionNumber(指定图空间分区数,默认100,必需项),这时200就会变成 指定的分区 * 关系类型个数,猜测该分区数是用来读取nebula数据的
    2、spark.app.partitionNum=500 该配置也是生效的,在后期计算中,分区数变成了spark.app.partitionNum指定的分区数,看源码有经过重分区指定该分区数,如果不指定spark.app.partitionNum,则为 nebula.partitionNumber * 关系类型个数