Я новичок в AWS и пытаюсь использовать S3 и Athena для варианта использования.
Я хочу, чтобы данные, сохраненные как json файлы в S3, запрашивались из Афины. Чтобы уменьшить сканирование данных, я создал структуру каталогов, подобную этой:
../customerid/date/*.json (format)
../100/2020-04-29/*.json
../100/2020-04-30/*.json
.
.
../101/2020-04-29/*.json
В Афине структура таблиц была создана в соответствии с ожидаемыми данными, и были созданы 2 раздела, а именно customer (customerid) и dt ( date).
Я хочу запросить все данные для клиента '100' и ограничить сканирование только его каталогом, для которого я пытаюсь загрузить раздел следующим образом
alter table <table_name> add
partition (customer=100) location 's3://<location>/100/’
But I get the following error
FAILED: SemanticException partition spec {customer=100} doesn't contain all (2) partition columns
Ясно, что его не загружается один раздел при создании нескольких разделов
Предоставление обоих разделов в таблице изменения
alter table <table_name> add
partition (customer=100, dt=2020-04-22) location 's3://<location>/100/2020-04-22/'
I get this error
missing 'column' at 'partition' (service: amazonathena; status code: 400; error code: invalidrequestexception;
Я что-то не так делаю?
Это даже работает? Если нет, то есть ли способ работы с иерархическими разделами?