Как создать несжатый текстовый файл с помощью Athena

#hive #compression #file-format #amazon-athena #presto

#улей #сжатие #формат файла #amazon-athena #presto

Вопрос:

У меня есть некоторые данные в Athena, и я хочу объединить их и создать новую таблицу. Я могу сделать это с помощью операции as CTAS, и AWS предоставляет несколько примеров.

Я создаю выходные данные в TEXTFILE формате, и я не хочу никакого сжатия. По этой ссылке

В этом примере также указано сжатие как быстрое. Если этот параметр опущен, используется GZIP.

Вот пример моего кода:

 CREATE TABLE "main_extended"
WITH (
    external_location = 's3://attr-dev/data-joiner/test-1/main_extended/',
    format = 'TEXTFILE',
    field_delimiter = ',')
AS
SELECT
    t1.*,
    t2.month
FROM main t1 left outer join period_month t2
ON t1.period = t2.period
  

Как мне указать compression параметр и какое значение должен принимать этот параметр, чтобы «отключить» сжатие для TEXTFILE формата?

Ответ №1:

На сегодняшний день это не поддерживается синтаксисом CTAS — попробовал несколько подходов, тщательно изучил документацию, а также обратился в службу поддержки AWS.

Рекомендуемый подход к созданию таблиц, которые поддерживаются простыми текстовыми файлами, заключается в вызове простого SELECT оператора из Athena и указании местоположения вывода, а затем вызове запроса CREATE EXTERNAL TABLE типа, который ссылается на это местоположение вывода. Результат тот же, но механизм немного отличается.

Комментарии:

1. Я не понял смысла второго абзаца. Можем ли мы получить несжатый текстовый файл, поступив таким образом?