公共参数
参数名称 | 简称 | 默认值 | 示例 | 备注 |
---|
giraph.maxNumberOfSupersteps | - | 1 | 5 | 最多迭代次数 |
giraph.computationClass | - | - | org.apache.giraph.examples.PageRankComputation | Vertex计算class |
giraph.vertex.input.dir | -vip | - | /data/data_wdc_600/arc | 数据输入路径 |
giraph.vertexInputFormatClass | -vif | - | org.apache.giraph.examples.LongDoubleNullTextInputFormat | Long代表Vertex Id的类型,之后的Double代表Vertex的值,Null代表边的 |
giraph.vertexOutputFormatClass | -vof | - | org.apache.giraph.examples.VertexWithDoubleValueNullEdgeTextOutputFormat | 计算后,Vertex输出的实现 |
mapreduce.output.fileoutputformat.outputdir | -op | - | /giraph/test/pagerank-output | 输出路径 |
giraph.minWorkers | -w | - | 1 | 最少Worker的数量,-w参数同时作用于 giraph.minWorkers和giraph.maxWorkers |
giraph.maxWorkers | -w | - | 1 | 最多Worker的数量,-w参数同时作用于 giraph.minWorkers和giraph.maxWorkers |
giraph.zkList | - | - | 10.157.11.170:2181 | zookeeper的地址列表,用于同步 |
giraph.yarn.task.heap.mb | -yh | 1024 | 10000 | 在Yarn上运行的Worker节点的内存 |
giraph.partitionClass | - | org.apache.giraph.partition.SimplePartition | org.apache.giraph.partition.DiskBackedPartition | Partition的实现,可以把部分数据放到磁盘 |
giraph.max.edges.per.segment | - | 51200 | 10485760 | 当Partition在内存存放的所有顶点的边超过此阈值时,会把内存的顶点写到磁盘,作为一个segment |
giraph.disk.backed.partition.edges.immutable | - | false | true | 在计算过程中vertex的边的信息是否不变,如果不变,则把边的信息和顶点信息存储在不同的文件里 |
giraph.messageStoreFactoryClass | - | org.apache.giraph.comm.messages.InMemoryMessageStoreFactory | org.apache.giraph.comm.messages.DiskBackedMessageStoreFactory | DiskBackedMessageStoreFactory可以用磁盘作为存储,用于大数据量计算 |
giraph.max.messages.per.segment | - | 1048576 | 104857600 | 当消息的数量超过此阈值时,把内存中的消息写到磁盘 |
giraph.userPartitionCount | | 默认和worker的数量一致 | 255 | 数据分区的数量 |
graph.numComputeThreads | - | 1 | 5 | 每个Worker的计算线程数,因为共255个partiton,51个worker,所以设置为5,所有的partition都可以并行计算 |
giraph.numInputThreads | - | 1 | 5 | 输入线程的数量,输入线程的数量和partition没有关系,和数据的分片有关系,HDFS的分片是一个Block大小,本地文件系统的一个分片是32M |
giraph.message.async.enabled | - | false | true | 消息是否异步发送到远程worker,默认同步 |
giraph.message.queue.size | - | 10 | 1000 | 消息异步发送队列大小 ,一个block是52K |
giraph.message.send.thread.num | - | 1 | 10 | 消息异步发送的线程数 |
PageRank算法私有参数
参数名称 | 简称 | 默认值 | 值 | 备注 |
---|
giraph.computationClass | - | - | org.apache.giraph.examples.PageRankComputation | Vertex计算class |
giraph.vertexInputFormatClass | -vif | - | org.apache.giraph.examples.LongDoubleNullTextInputFormat | Long代表Vertex Id的类型,之后的Double代表Vertex的值,Null代表边的 |
giraph.workerContextClass | -wc | - | org.apache.giraph.examples.RandomWalkWorkerContext | 上下文class |
giraph.masterComputeClass | - | - | org.apache.giraph.examples.RandomWalkVertexMasterCompute | Master的实现class |
giraph.messageCombinerClass | - | - | org.apache.giraph.combiner.DoubleSumMessageCombiner | 消息合并的class |
org.apache.giraph.examples.RandomWalkComputation.maxSupersteps | - | 30 | 5 | 计算迭代次数 |
org.apache.giraph.examples.RandomWalkComputation.teleportationProbability | - | 0.15 | 0.15 | 权重系数。 顶点的rank值的计算公式:rank = alpha/顶点数量 + (1 - alpha) * 其它顶点贡献的rank值之和。 当alpha比较小时,其它顶点贡献的rank值之和的权重越大,当alpha为0时,顶点的rank值只有其它顶点的贡献,如果没有其它顶点的贡献,它的rank值是0。 相反,alpha比较大,则(alpha / 顶点数量) 这部分的的比重大,最后导致各顶点的rank值越平均,如alpha是1,则每个顶点的rank值都是alpha/(number of vertices)。默认值:0.15,一般取默认值。 |
| - | - | | - |
PageRank算法用户设置参数
参数名称 | 简称 | 默认值 | 值 | 备注 |
---|
org.apache.giraph.examples.RandomWalkComputation.maxSupersteps | - | 30 | 5 | 计算迭代次数 |
org.apache.giraph.examples.RandomWalkComputation.teleportationProbability | - | 0.15 | 0.15 | - |
CONVERGENCE_THRESHOLD=0.00001 是常量
WeakConnetedComponent算法私有私有参数
参数名称 | 简称 | 默认值 | 值 | 备注 |
---|
giraph.computationClass | - | - | org.apache.giraph.examples.LongConnectedComponentsComputation | Vertex计算class |
giraph.vertexInputFormatClass | -vif | - | org.apache.giraph.io.formats.DuplicateLongLongNullTextInputFormat | 对于读到的每1条边a->b, 生成两条边a->b和b->a |
giraph.messageCombinerClass | - | - | org.apache.giraph.combiner.MinimumLongMessageCombiner | 只保留最小的message |
giraph.vertexOutputFormatClass | -vof | - | org.apache.giraph.io.formats.IdWithValueTextOutputFormat | 计算后,Vertex输出的实现 |
giraph.masterComputeClass | - | - | org.apache.giraph.combiner.DoubleSumMessageCombiner | 消息合并的class |
graph.longConnectedComponents.earlyStopActiveVerticesThreshold | - | 0.0001 | 0.0001 | 当活动的顶点的比例小于此阈值时,计算结束 |
WeakConnetedComponent算法用户设置参数
参数名称 | 简称 | 默认值 | 值 | 备注 |
---|
graph.longConnectedComponents.earlyStopActiveVerticesThreshold | - | 0.0001 | 0.0001 | 当活动的顶点的比例小于此阈值时,计算结束 |