Разбор CSV в Афине по именам столбцов - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь создать внешнюю таблицу на основе файлов CSV. Моя проблема в том, что не все CSV-файлы одинаковы (для некоторых из них отсутствуют столбцы) и порядок столбцов не всегда одинаков.

Вопрос в том, могу ли я заставить Афину анализировать столбцы с помощьюимя, а не по порядку

1 Ответ

1 голос
/ 31 октября 2019

Нет, Афина не может разобрать столбцы по имени, а не по их порядку. Данные должны быть в том же порядке, как определено в вашей схеме таблицы. Вам нужно будет предварительно обработать CSV и изменить порядок столбцов, прежде чем записывать их в S3.

Добавление цитат из документации aws athena:

Когда вы создаете новую схему таблиц в Афине,Athena сохраняет схему в каталоге данных и использует ее при выполнении запросов.

Athena использует подход, известный как схема при чтении, что означает, что схема проецируется на ваши данные во время выполнениязапрос. Это устраняет необходимость в загрузке или преобразовании данных.

Когда вы создаете базу данных и таблицу в Афине, вы просто описываете схему и расположение, в котором расположены данные таблицы в Amazon S3, для запросов во время чтения. Поэтому база данных и таблица имеют немного другое значение, чем для традиционных систем реляционных баз данных, поскольку данные не сохраняются вместе с определением схемы для базы данных и таблицы.

Ссылка: Таблицы и базы данных в Афинах

...