JSON ISO 8601 временная строка для формата времени AWS-Glue - PullRequest
0 голосов
/ 16 января 2019

У меня есть данные в формате JSON, имеющие формат метки времени ISO 8601, например, «2017-06-29T00: 00: 00-0400», и я пытаюсь использовать AWS Glue для преобразования для использования Athena / Quicksights; однако каждая попытка преобразования, которую я пробовал, все еще видит поле назначения как строку (после сканирования файла назначения json). Я также получаю поле разбора ошибки HIVE_BAD_DATA при попытке выполнить запрос к таблице в Афине

Ответы [ 3 ]

0 голосов
/ 16 января 2019

Вы можете попытаться установить timestamp.formats = yyyy-MM-dd'T'HH: mm: ss + | -hhmm в разделе параметров serde определения таблицы.Вы можете сделать это в AWS Glue.

0 голосов
/ 29 января 2019

Спасибо за ввод, я смог обойти мою проблему, создав вычисляемое поле в Quicksight на основе строки, используя parseDate (replace (substring ({date_in_ISO}, 1,19), 'T', ""), 'гггг-мм-дд чч: мм: сс')

0 голосов
/ 16 января 2019

Попробуйте

df = df.withColumn ("isodate", to_timestamp ("isodate", "yyyy-MM-dd'T'HH: mm: ssZ"))

...