HIVE-22054 discusses how they use getContentSummary to see if a directory is empty.
This is implemented in FileSystem as a recursive treewalk, with all the costs there.
Hive is moving off it; once that is in it won't be so much of an issue. But if we wanted to speed up older versions of Hive, we could move the operation to using a flat list
That would give us the file size rapidly; the directory count would have to be worked out by tracking parent dirs of all paths (and all entries ending with /), and adding them up