Вы можете использовать регулярное выражение serde для анализа ваших файлов. Это зависит от формы ваших данных. Вы предоставляете только одну строку, поэтому предполагается, что каждая строка в ваших файлах данных выглядит одинаково.
Вот документация Athena для этой функции: https://docs.aws.amazon.com/athena/latest/ug/apache.html
Вы должно быть в состоянии сделать что-то вроде следующего:
CREATE EXTERNAL TABLE flights (
flight_number STRING,
`date` STRING,
pages_printed INT,
document_name STRING,
print_driver STRING
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.RegexSerDe'
WITH SERDEPROPERTIES (
"input.regex" = "^Flight Number:\\s+(\\S+)\\s+Date:\\s+(\\S+)\\s+Page\\[s\\] Printed:\\s+(\\S+)\\s+Document Name:\\s+(\\S+)\\s+Print Driver:\\s+(\\S+)\\s+\\(printer driver\\)$"
) LOCATION 's3://example-bucket/some/prefix/'
Каждая группа захвата в регулярном выражении будет отображаться в столбец, по порядку.
Поскольку у меня нет доступа к вашим данным К сожалению, я не могу проверить регулярное выражение, поэтому в нем могут быть ошибки. Надеюсь, этого примера достаточно, чтобы вы начали.