== Parsed Logical Plan ==
GlobalLimit 11
+- LocalLimit 11
+- Project [cast(id#367 as string) AS id#373, cast(followers_count#368 as string) AS followers_count#374]
+- Project [id#359 AS id#367, inDegree#364 AS followers_count#368]
+- Aggregate [dst#1], [dst#1 AS id#359, cast(count(1) as int) AS inDegree#364]
+- Relation[src#0,dst#1] csv
== Analyzed Logical Plan ==
id: string, followers_count: string
GlobalLimit 11
+- LocalLimit 11
+- Project [cast(id#367 as string) AS id#373, cast(followers_count#368 as string) AS followers_count#374]
+- Project [id#359 AS id#367, inDegree#364 AS followers_count#368]
+- Aggregate [dst#1], [dst#1 AS id#359, cast(count(1) as int) AS inDegree#364]
+- Relation[src#0,dst#1] csv
== Optimized Logical Plan ==
GlobalLimit 11
+- LocalLimit 11
+- Aggregate [dst#1], [cast(dst#1 as string) AS id#373, cast(cast(count(1) as int) as string) AS followers_count#374]
+- Project [dst#1]
+- Relation[src#0,dst#1] csv
== Physical Plan ==
CollectLimit 11
+- *(2) HashAggregate(keys=[dst#1], functions=[count(1)], output=[id#373, followers_count#374])
+- Exchange hashpartitioning(dst#1, 200), true, [id=#630]
+- *(1) HashAggregate(keys=[dst#1], functions=[partial_count(1)], output=[dst#1, count#378L])
+- FileScan csv [dst#1] Batched: false, DataFilters: [], Format: CSV, Location: InMemoryFileIndex[s3a://data-repository-bkt/ECS765/graph/stanford_fb_edges.csv], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<dst:int>