In spark, the count(table.*) may cause very weird result, for example:
select count from (select 1 as a, null as b) t;
select count(t.*) from (select 1 as a, null as b) t;
After checking the ANSI standard, count is always treated as count(1) while count(t.*) is not allowed. What's more, this is also not allowed by common databases, e.g. MySQL, oracle.