У меня есть использованный фрейм данных, который содержит запрос
df : Dataframe =spark.sql(s"show Partitions $yourtablename")
Теперь количество разделов меняется каждый день, так как оно запускается каждый день.
Основная проблема в том, что мне нужно получить последний раздел.
Предположим, я получаю раздел для случайной таблицы на определенный день
как
year=2019/month=1/day=1
year=2019/month=1/day=10
year=2019/month=1/day=2
year=2019/month=1/day=21
year=2019/month=1/day=22
year=2019/month=1/day=23
year=2019/month=1/day=24
year=2019/month=1/day=25
year=2019/month=1/day=26
year=2019/month=2/day=27
year=2019/month=2/day=3
Теперь вы можете увидеть функциональность, которая сортирует раздел так, что после day=1
приходит day=10
. Это создает проблему, так как мне нужно получить последний раздел.
Мне удалось получить раздел с помощью
val df =dff.orderby(col("partition").desc.limit(1)
но это дает мне раздел хвоста -1, а не последний раздел.
Как я могу получить последний раздел из таблиц, преодолевающий ограничение ульев на размещение разделов?
Итак, предположим, что в приведенном выше примере мне нужно забрать
year=2019/month=2/day=27
а не
year=2019/month=2/day=3
, который является последним разделом в таблице.