#palantir-foundry #foundry-contour
#palantir-foundry #foundry-контур
Вопрос:
Редакторы таблиц и столбцов Foundry Contour позволяют легко анализировать строку, содержащую некоторую комбинацию года, месяца и дня в качестве даты, но я не смог понять, как преобразовать Long, представляющий временную метку Unix, в дату.
Есть ли какой-то трюк, который я упускаю? Я пробовал CAST(utc_column AS date)
, что приводит к ошибке, и я изучил «Даты синтаксического анализа», но, похоже, для этого подходят только строки, содержащие некоторую комбинацию года, месяца и дня.
Ответ №1:
Вы не можете приводить длинные значения к датам напрямую, но вы можете приводить их к временным меткам. Если вам конкретно нужна дата, а не временная метка, вы можете выполнить приведение к дате.
Следует обратить внимание на то, что Spark предполагает, что значения времени, которые вы преобразуете во временные метки, указаны в секундах с эпохи, а не в миллисекундах с эпохи.
В результате конечный запрос может быть чем-то вроде:
CAST(CAST((utc_column) AS TIMESTAMP) AS DATE)
или
CAST(CAST((utc_column / 1000) AS TIMESTAMP) AS DATE)
в зависимости от масштабирования вашей базовой временной метки Unix. Это базовая функция Spark, и команда Palantir ищет способы улучшить работу с этим литьем.