Рекомендую не писать типа metrics["dt"], а писать просто col("dt"), какая разница, как там переменная с датафреймом называется, а лучше их вообще не использовать
но если контролируем запись - то лучше как г-н Е говорит - это хайвовский стандарт парттицирования. добавлю лишь, что партишн поля везде лучше ставить с типом string при create table и подобном, а не date