встроенная функция spark-sql dayofmonth, возвращающая странные результаты

Еще один -

 #  ^-?0*(?:20(?:[0-4][0-9]|5[0-5])|[0-9]{1,3})$

 ^ 
 -?
 0*
 (?:
      20
      (?:
           [0-4] [0-9] 
        |  
           5 [0-5] 
      )
   |  
      [0-9]{1,3} 
 )
 $
1
задан eliasah 5 March 2019 в 09:33
поделиться

1 ответ

Это потому, что даты выставляются извне как java.sql.Date и представляются внутри как число дат начиная с эпохи Unix (1970-01-01).

Ссылки: источник 1 , источник 2 и 3 .

Это в основном создает много проблем при работе с датами до 1970 года, но вы можете попробовать создать udf с (я не могу поверить, что я пишу это) с внешними библиотеками, которые могут быть в состоянии справиться с этой проблемой, как рекомендовано здесь .

Напоминание: Конечно, необходимо учитывать узкие места в производительности, используя udf s. Подробнее об этом здесь .

Для получения дополнительной информации о Unix Time вы можете прочитать следующее:

https://en.wikipedia.org/wiki/Unix_time

0
ответ дан eliasah 5 March 2019 в 09:33
поделиться
Другие вопросы по тегам:

Похожие вопросы: