-
Notifications
You must be signed in to change notification settings - Fork 731
Expand file tree
/
Copy pathleaderboards_small_project_commit.pipe
More file actions
55 lines (48 loc) · 1.92 KB
/
leaderboards_small_project_commit.pipe
File metadata and controls
55 lines (48 loc) · 1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
DESCRIPTION >
Leaderboard ranking small projects (50 or fewer contributors) by total commit count. Identifies
small teams with massive output, showing which smaller projects are highly productive despite
limited contributor counts.
NODE leaderboards_small_project_commit_projects
DESCRIPTION >
Retrieves all projects with 50 or fewer contributors
SQL >
SELECT id, name, slug, segmentId, logoUrl, collectionsSlugs, isLF, status
FROM insights_projects_populated_ds
WHERE contributorCount <= 50
GROUP BY id, name, slug, segmentId, logoUrl, collectionsSlugs, isLF, status
NODE leaderboards_small_project_commit_activities
DESCRIPTION >
Counts total git commits for each project
SQL >
SELECT segmentId, count() as commits
FROM activityRelations_deduplicated_cleaned_bucket_union
WHERE activityId != '' AND type = 'authored-commit' AND platform = 'git'
GROUP BY segmentId
NODE leaderboards_small_project_commit_results
DESCRIPTION >
Joins small project metadata with commit counts, ranks by highest commit activity
SQL >
SELECT
toStartOfInterval(now(), INTERVAL 1 day) as snapshotId,
row_number() OVER (ORDER BY coalesce(o.commits, 0) DESC) as rank,
p.id as id,
p.segmentId as segmentId,
p.name as name,
p.slug as slug,
p.logoUrl as logoUrl,
'small-teams-massive-output' as leaderboardType,
cast(coalesce(o.commits, 0) as Float64) as value,
0.0 as previousPeriodValue,
p.collectionsSlugs as collectionsSlugs,
p.isLF as isLF,
[] as githubHandleArray,
p.status as status,
count() OVER () as totalCount
FROM leaderboards_small_project_commit_projects p
INNER JOIN leaderboards_small_project_commit_activities o ON p.segmentId = o.segmentId
WHERE o.commits > 0
ORDER BY value DESC
TYPE COPY
TARGET_DATASOURCE leaderboards_copy_ds
COPY_MODE append
COPY_SCHEDULE 0 3 * * *