Если это паркет без фильтров, то есть вариант читать футеры и брать из них количество записей, оно там точное. И есть по каждой колонке количество null
Если просто проверить, есть ли хоть одна запись,
def isEmpty(df: DataFrame): Boolean = df.head(1).isEmpty
Если просто попробовать догадаться, прочитает ли DF что-нибудь, можно поискать файлы в читаемых путях, но df сам это делает, когда инферит схему, если файлов нет, то бросит исключение и всё будет понятно