Quick update, in case anyone else is look for this.
Not sure if this is the way you’re supposed to do it but using groupreduce with an auxiliary column works:
df = transform(df, :count => ones(length(df)))
Distributed Table with 5 rows in 2 chunks:
X1 X2 count
───────────────
"a" "x" 1.0
"a" "x" 1.0
"a" "y" 1.0
"b" "x" 1.0
"b" "x" 1.0
df = groupreduce(+, t, (:X1, :X2), select = :count)
Distributed Table with 3 rows in 2 chunks:
X1 X2 +
─────────────
"a" "x" 2.0
"a" "y" 1.0
"b" "x" 2.0