Я столкнулся с проблемой правильного чтения меток времени без каких-либо автоматических преобразований в Presto на EMR.
Пример: в каталоге AWS Glue есть таблица со столбцами меток времени во времени UTC (метка времени типа данных).Запрашивая в Афине, они возвращаются, как и ожидалось.При запросе в Presto к EMR (EMR 5.26, Presto 0.220) происходит автоматическое преобразование в другой часовой пояс.
Документы Presto описывают способ отключения этого поведения здесь - https://prestosql.io/docs/current/language/timestamp.
The legacy semantics can be enabled using the deprecated.legacy-timestamp config property. Setting it to true (the default) enables the legacy semantics, whereas setting it to false enables the new semantics.
Они обозначают свои различия в результатах с этой опцией, установленной в true против false вbottom
Query: SELECT TIME '10:00:00 Asia/Kathmandu' AT TIME ZONE 'UTC'
Legacy result: 04:30:00.000 UTC
New result: 04:15:00.000 UTC
После включения deprecated.legacy-timestamp
, установленного в true
, в мою конфигурацию EMR (в пределах presto-config), я все еще получаю новый результат в соответствии с этим тестовым запросом, (и мои метки времени UTC по-прежнему автоматически конвертируются).
Есть ли какие-либо предложения относительно того, что еще мне нужно сделать, чтобы включить устаревшее поведение меток времени?