閱讀239 返回首頁    go 阿裏雲 go 技術社區[雲棲]


MaxCompute-GRAPH可配置參數列表(持續更新)

基礎配置

設置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萬條

請在評論中給予反饋,謝謝!

最後更新:2017-05-26 16:31:06

  上一篇:go  Java StringBuffer 和StringBuilder
  下一篇:go  自適應網站怎麼做好些?