К сожалению, абстракция файловой системы, которую Athena использует для S3, не поддерживает это.Это требует, чтобы расположения таблиц выглядели как каталоги, и Афина добавит косую черту в конец расположения при перечислении файлов.
Существует способ создания таблиц, которые содержат только выборку файлов, но насколькоЯ знаю, что он не поддерживает подстановочные знаки, только явные списки файлов.
Что вы делаете, вы создаете таблицу с
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.SymlinkTextInputFormat'
и затем вместо указания LOCATION
таблицык реальным файлам вы указываете на префикс с одним symlink.txt
файлом (или указываете каждый раздел на префикс с одним symlink.txt
).В файле symlink.txt
вы добавляете S3 URI файлов для включения в таблицу, по одному на строку.
Единственная известная мне документация по этой функции - документация S3 Inventory для интеграциис Афиной .
Вы также можете найти полный пример в ответе Stackoverflow: https://stackoverflow.com/a/55069330/1109