Смешанный формат в файлах S3, который запрашивает Athena: как выполнять приведение на этапе определения таблицы - PullRequest
0 голосов
/ 16 апреля 2020

Файлы корзины S3, которые я пытаюсь запросить с помощью Athena, иногда имеют несоответствия формата данных.

Данные представлены в формате JSON строк, и соответствующая часть имеет вид:

{"timestamp": 13456765434} //usually

{"timestamp": 13456765434.123} //occasionally

Двойной формат является исключением. Как определить эту таблицу для Афины, чтобы она не выдавала ошибки при появлении двойного числа?

Следующее выдает ошибку

CREATE EXTERNAL TABLE test.xyz (
         `timestamp` bigint,
)
...

, потому что Афина не любит приведение двойник к бигинту. Есть ли способ заставить Афину молча разыграть двойное в бигинте? Например, могу ли я изменить определение таблицы, чтобы было ясно, что я хочу, чтобы double был приведен к bigint для отметок времени?

...