40 lines
1.8 KiB
Scala
40 lines
1.8 KiB
Scala
package com.twitter.recos.user_tweet_graph
|
|
|
|
import com.twitter.recos.graph_common.MultiSegmentPowerLawBipartiteGraphBuilder.GraphBuilderConfig
|
|
|
|
/**
|
|
* The class holds all the config parameters for recos graph.
|
|
*/
|
|
object RecosConfig {
|
|
val maxNumSegments: Int = 8
|
|
val maxNumEdgesPerSegment: Int =
|
|
(1 << 28) // 268M edges per segment, should be able to include 2 days' data
|
|
val expectedNumLeftNodes: Int =
|
|
(1 << 26) // should correspond to 67M nodes storage
|
|
val expectedMaxLeftDegree: Int = 64
|
|
val leftPowerLawExponent: Double = 16.0 // steep power law as most nodes will have a small degree
|
|
val expectedNumRightNodes: Int = (1 << 26) // 67M nodes
|
|
val expectedMaxRightDegree: Int = scala.math.pow(1024, 2).toInt // some nodes will be very popular
|
|
val rightPowerLawExponent: Double = 4.0 // this will be less steep
|
|
|
|
val graphBuilderConfig = GraphBuilderConfig(
|
|
maxNumSegments = maxNumSegments,
|
|
maxNumEdgesPerSegment = maxNumEdgesPerSegment,
|
|
expectedNumLeftNodes = expectedNumLeftNodes,
|
|
expectedMaxLeftDegree = expectedMaxLeftDegree,
|
|
leftPowerLawExponent = leftPowerLawExponent,
|
|
expectedNumRightNodes = expectedNumRightNodes,
|
|
expectedMaxRightDegree = expectedMaxRightDegree,
|
|
rightPowerLawExponent = rightPowerLawExponent
|
|
)
|
|
|
|
println("RecosConfig - maxNumSegments " + maxNumSegments)
|
|
println("RecosConfig - maxNumEdgesPerSegment " + maxNumEdgesPerSegment)
|
|
println("RecosConfig - expectedNumLeftNodes " + expectedNumLeftNodes)
|
|
println("RecosConfig - expectedMaxLeftDegree " + expectedMaxLeftDegree)
|
|
println("RecosConfig - leftPowerLawExponent " + leftPowerLawExponent)
|
|
println("RecosConfig - expectedNumRightNodes " + expectedNumRightNodes)
|
|
println("RecosConfig - expectedMaxRightDegree " + expectedMaxRightDegree)
|
|
println("RecosConfig - rightPowerLawExponent " + rightPowerLawExponent)
|
|
}
|