@@ -468,21 +468,23 @@ object FactorGenerationStage extends DatagenStage with Logging {
468
468
},
469
469
// friends
470
470
" personNumFriendsOfFriends" -> Factor (PersonKnowsPersonType , PersonType ) { case Seq (personKnowsPerson, person1) =>
471
+ // direct friends
471
472
val knows1 = person1
472
473
.as(" Person1" )
473
474
.join(undirectedKnows(personKnowsPerson).as(" knows" ), $" Person1.id" === $" knows.Person1Id" , " leftouter" )
474
475
475
476
val personNumFriends = frequency(knows1, value = $" knows.Person2Id" , by = Seq ($" Person1.id" ), agg = count)
476
477
.select($" Person1.id" .as(" Person1Id" ), $" frequency" .as(" numFriends" ))
477
478
479
+ // friends of friends
478
480
val personFriendsOfFriends = personNumFriends.as(" personNumFriends1" )
479
481
.join(undirectedKnows(personKnowsPerson).as(" knows" ), $" personNumFriends1.Person1Id" === $" knows.Person1Id" , " leftouter" )
480
482
.join(personNumFriends.as(" personNumFriends2" ), $" personNumFriends2.Person1Id" === $" knows.Person2Id" , " leftouter" )
481
483
482
484
val personNumFriendsOfFriends = frequency(
483
485
personFriendsOfFriends,
484
486
value = $" personNumFriends2.numFriends" ,
485
- by = Seq ($" knows .Person1Id" , $" personNumFriends1.numFriends" ),
487
+ by = Seq ($" personNumFriends1 .Person1Id" , $" personNumFriends1.numFriends" ),
486
488
agg = sum
487
489
).select($" Person1Id" , $" numFriends" , $" frequency" .as(" numFriendsOfFriends" ))
488
490
@@ -506,9 +508,9 @@ object FactorGenerationStage extends DatagenStage with Logging {
506
508
val numFriendPosts = frequency(
507
509
friendPosts,
508
510
value = $" numPersonPosts2.numDirectPosts" ,
509
- by = Seq ($" knows .Person1Id" , $" numPersonPosts1.numDirectPosts" ),
511
+ by = Seq ($" numPersonPosts1 .Person1Id" , $" numPersonPosts1.numDirectPosts" ),
510
512
agg = sum
511
- ).select($" knows .Person1Id" .as(" Person1Id" ), $" numDirectPosts" , $" frequency" .as(" numFriendPosts" ))
513
+ ).select($" numPersonPosts1 .Person1Id" .as(" Person1Id" ), $" numDirectPosts" , $" frequency" .as(" numFriendPosts" ))
512
514
513
515
// posts of friends of friends
514
516
val friendOfFriendPosts = numFriendPosts.as(" numFriendPosts1" )
0 commit comments