MaxCompute-GRAPH可配置參數列表(持續更新)
基礎配置
設置Vertex類
配置:odps.graph.vertex.class
API:GraphJob.setVertexClass()
說明:設置Vertex的實現類,通常使用API設置。
設置Combiner類
配置:odps.graph.combiner.class
API:GraphJob.setCombinerClass()
說明:設置Combiner的實現類,通常使用API設置。
設置Partitioner類
配置:odps.graph.partitioner.class
API:GraphJob.setPartitionerClass()
說明:設置Partitioner的實現類,通常使用API設置。
設置Aggregator類
配置:odps.graph.aggregator.classes
API:GraphJob.setAggregatorClass()
說明:可以設置一個或多個Aggregator實現類,編號從0開始。通常使用API設置。
設置WorkerComputer類
配置:odps.graph.worker.computer.class
API:GraphJob.setWorkerComputerClass()
說明:設置WorkerComputer的實現類,通常使用API設置。
設置Loader類
配置:odps.graph.loader.class
API:GraphJob.setGraphLoaderClass()
說明:設置GraphLoader實現類,通常使用API設置。
配置Loading Resolver類
配置:odps.graph.loading.vertex.resolver.class
API:GraphJob.setLoadingVertexResolverClass()
說明:設置LoadingVertexResolver的實現類,通常使用API設置。
配置Computing Resolver類
配置:odps.graph.computing.vertex.resolver.class
API:GraphJob.setComputingVertexResolverClass()
說明:設置ComputingVertexResolver的實現類,通常使用API設置。
配置最大迭代次數
配置:odps.graph.max.iteration
API:GraphJob.setMaxIteration()
說明:設置最大迭代次數,默認 -1,小於或等於 0 時表示最大迭代次數不作為作業終止條件.
配置Worker的CPU申請量
配置:odps.graph.worker.cpu
API:GraphJob.setWorkerCPU()
說明:設置 Worker CPU,默認 200,表示兩個 CPU 核. 取值範圍[200, 800]
配置Worker內存申請量
配置:odps.graph.worker.memory
API:GraphJob.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:無
說明:
單位:毫秒,默認值:600000(10分鍾)
如果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:無
說明:單位:秒,默認值:600(10分鍾)
如果沒有配置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
API:GraphJob.setUseTreeAggregator()
說明:是否啟用Tree Aggregator,待補充介紹文檔。
配置Tree Aggregator 深度
配置:odps.graph.aggregator.tree.depth
API:GraphJob.setAggregatorTreeDepth()
說明:啟用Tree Aggregator情況下,Tree的深度。默認是2
配置是否啟動廣播機製
配置:odps.graph.broadcast.message.enable
API:GraphJob.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
API:GraphJob.addCacheResources()
說明:設置cache資源,通過采用命令行jar -resources來指定。
配置加入classpath的資源
配置:odps.graph.cache.resources
API:GraphJob.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
上一篇:
Java StringBuffer 和StringBuilder
下一篇:
自適應網站怎麼做好些?
送機器學習電子書——(TensorFlow)RNN入門
Android Asynchronous Http Client
《vSphere性能設計:性能密集場景下CPU、內存、存儲及網絡的最佳設計實踐》一1.2 建立基準
從U盤運行Linux操作係統的三種方法
關於MySQL與SQLLite的Group By排序原理的區別
如何在 Ubuntu 環境下搭建郵件服務器(一)
Android開發1——查找所需要出示權限的內容
iphone開發筆記——Cocos2d CCLayer中的touch
給正準備學習VC++朋友的建議
Create Your Own IM Social App with MQTT