Формат таблицы для столбца даты «yyyyMMdd», и я использую следующие функции для преобразования в стандартный формат, чтобы можно было использовать день, месяцы и год HIVE для получения соответствующих значений.
(from_unixtime(unix_timestamp(cast(created_day as STRING) ,'yyyyMMdd'), 'yyyy-MM-dd'))
Чтобы получить данные текущего года, я бы вычел год, полученный из всех записей, из года, возвращенного текущей датой, и если он вернул ноль, то он падает в этом году.
(year(current_date()) - year(from_unixtime(unix_timestamp(cast(created_day as STRING) ,'yyyyMMdd'), 'yyyy-MM-dd'))) = 0
Проблема: Если текущая дата выпадает на январь, я получу только данные за январь, но мне нужно получить данные с февраля (прошлого года) по январь (текущий год)?
Также мне нужно масштабировать это дополучить последние 24 месяца.