MaxCompute-GRAPH可配置参数列表(持续更新)

    xiaoxiao2024-06-06  115

    基础配置

    设置Vertex类

    配置:odps.graph.vertex.class APIGraphJob.setVertexClass() 说明:设置Vertex的实现类,通常使用API设置。

    设置Combiner类

    配置:odps.graph.combiner.class APIGraphJob.setCombinerClass() 说明:设置Combiner的实现类,通常使用API设置。

    设置Partitioner类

    配置:odps.graph.partitioner.class APIGraphJob.setPartitionerClass() 说明:设置Partitioner的实现类,通常使用API设置。

    设置Aggregator类

    配置:odps.graph.aggregator.classes APIGraphJob.setAggregatorClass() 说明:可以设置一个或多个Aggregator实现类,编号从0开始。通常使用API设置。

    设置WorkerComputer类

    配置:odps.graph.worker.computer.class APIGraphJob.setWorkerComputerClass() 说明:设置WorkerComputer的实现类,通常使用API设置。

    设置Loader类

    配置:odps.graph.loader.class APIGraphJob.setGraphLoaderClass() 说明:设置GraphLoader实现类,通常使用API设置。

    配置Loading Resolver类

    配置:odps.graph.loading.vertex.resolver.class APIGraphJob.setLoadingVertexResolverClass() 说明:设置LoadingVertexResolver的实现类,通常使用API设置。

    配置Computing Resolver类

    配置:odps.graph.computing.vertex.resolver.class APIGraphJob.setComputingVertexResolverClass() 说明:设置ComputingVertexResolver的实现类,通常使用API设置。

    配置最大迭代次数

    配置:odps.graph.max.iteration APIGraphJob.setMaxIteration() 说明:设置最大迭代次数,默认 -1,小于或等于 0 时表示最大迭代次数不作为作业终止条件.

    配置Worker的CPU申请量

    配置:odps.graph.worker.cpu APIGraphJob.setWorkerCPU() 说明:设置 Worker CPU,默认 200,表示两个 CPU 核. 取值范围[200, 800]

    配置Worker内存申请量

    配置:odps.graph.worker.memory APIGraphJob.setWorkerMemory() 说明:设置 Worker 内存,单位MB,默认 4096. 取值范围[2048, 32768],即2G~32G。如有特殊需求,请联系ODPS-GRAPH开发人员。

    配置输入表信息

    配置:odps.graph.input.desc API:GraphJob.addInput() 说明:请参考javadoc:http://odps.alibaba-inc.com/doc/prddoc/odps_graph/api/index.html

    配置输出表信息

    配置:odps.graph.output.desc API:GraphJob.addOutput() 说明:请参考javadoc:http://odps.alibaba-inc.com/doc/prddoc/odps_graph/api/index.html

    配置Split Size

    配置:odps.graph.split.size API:GraphJob.setSplitSize() 说明:设置输入的切分大小,单位 MB,默认 64。当没有配置odps.graph.worker.num情况下,切分的个数决定了worker的个数。

    配置Worker的个数

    配置:odps.graph.worker.num API:GraphJob.setNumWorkers() 说明:设置作业并行执行的节点数,最大值4000。 默认节点数由getSplitSize()和作业输入数据量计算得到。 此接口与 setSplitSize(long) 配合使用,可以提高数据的载入速度。 假设 setNumWorkers 为 workerNum, setSplitSize 为 splitSize, 总输入字节数为 inputSize, 则输入被切分后的块数 splitNum = inputSize / splitSize,workerNum 和 splitNum 之间的关系: 若 splitNum == workerNum,每个 worker 负责载入一个 split; 若 splitNum > workerNum,每个 worker 负责载入一个或多个 split; 若 splitNum < workerNum, 每个 worker 负责载入零个或一个 split; 因此,应调节 workerNum 和 splitSize,在满足前两种情况时,数据载入比较快。迭代阶段只调节 workerNum 即可。

    Failover相关配置

    配置等待所有Worker启动完毕最长时间

    配置:odps.graph.fuxi.job.max.wait.time API:无 备注:单位是分钟,默认值:15

    配置Load后马上执行checkpoint的时间限制

    配置:odps.graph.load.checkpoint.limit.time API:无 说明: 单位:毫秒,默认值:60000010分钟) 如果load时间超过了该值,则load完成后会立即执行一次checkpoint。

    配置checkpoint执行频率

    配置:odps.graph.checkpoint.superstep.frequency API:GraphJob.setCheckpointSuperstepFrequency() 说明: 默认不设置表示按系统默认的方式做checkpoint,即间隔10分钟做一次checkpoint,如果设置,合法值是大于或等于0的整数, 0表示不进行checkpoint,大于0,表示期望每隔n轮superstep做checkpoint,若n次superstep的时间小于系统checkpoint 时间间隔(10分钟),也仍然等到10分钟后再做checkpoint.

    配置checkpoint执行周期

    配置:odps.graph.checkpoint.time.interval API:无 说明:单位:秒,默认值:60010分钟) 如果没有配置odps.graph.checkpoint.superstep.frequency,则checkpoint执行周期以改参数为准;如果配置了odps.graph.checkpoint.superstep.frequency且配置值非0,则checkpoint执行周期为superstep达到odps.graph.checkpoint.superstep.frequency的整数倍且执行间隔大于该参数。 该参数从sprint17开始开放配置。

    配置Failover最大重试次数

    配置:odps.graph.max.attempts API:无 说明:默认值为3

    高级Feature

    配置AggregatorOwnerPartitioner

    配置:odps.graph.aggregator.owner.partitioner.class API:GraphJob.setAggregatorOwnerPartitionerClass() 说明:设置AggregatorOwnerPartitioner的实现类,默认是HashAggregatorOwnerPartitioner.class

    配置是否启用Tree Aggregator

    配置:odps.graph.use.tree.aggregator APIGraphJob.setUseTreeAggregator() 说明:是否启用Tree Aggregator,待补充介绍文档。

    配置Tree Aggregator 深度

    配置:odps.graph.aggregator.tree.depth APIGraphJob.setAggregatorTreeDepth() 说明:启用Tree Aggregator情况下,Tree的深度。默认是2

    配置是否启动广播机制

    配置:odps.graph.broadcast.message.enable APIGraphJob.setBroadcastMessageEnable() 说明:是否启用广播消息机制,待补充介绍文档。

    启用多线程compute

    配置:odps.graph.computing.threads API:N/A 说明:采用多线程执行vertex.compute(),默认是1,即单个线程

    其他配置项

    配置Job优先级

    配置:odps.graph.job.priority API:GraphJob.setJobPriority() 说明:设置Graph作业的优先级,默认是9,取值范围[0,9],0为最高,9为最低。下个版本考虑默认值改为0.

    配置cache的资源

    配置:odps.graph.cache.resources APIGraphJob.addCacheResources() 说明:设置cache资源,通过采用命令行jar -resources来指定。

    配置加入classpath的资源

    配置:odps.graph.cache.resources APIGraphJob.addCacheResourcesToClassPath() 说明:配置classpath资源,通常采用命令行 jar -libjars来指定。

    启用资源预留机制

    配置: odps.graph.fuxi.job.resource.all_or_nothing API: 无 说明: 设置为true,作业提交后,如当前资源不足,Fuxi会为该作业预留资源。

    Graph-LOCAL 配置项

    配置local run的时候下载数据的条数

    配置:odps.mapred.local.record.download.limit API:无 说明:默认100条,最大可设置上限为1万条

    请在评论中给予反馈,谢谢!

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)