Ошибка запроса на разделение Amazon Athena "нет приемлемой альтернативы" - PullRequest
0 голосов
/ 12 марта 2020

Я пытаюсь создать многораздельную таблицу данных в Amazon Athena, чтобы можно было проанализировать содержимое корзины, содержащей журналы доступа S3. Я почти точно следовал инструкциям, как они написаны в документах , просто подставляя мою собственную информацию. Тем не менее, я получаю сообщение об ошибке line 1:8: no viable alternative at input 'create external' (service: amazonathena; status code: 400; error code: invalidrequestexception; request id: 847e3d9c-8d3c-4810-a98c-8527270f8dd8). Вот что я ввожу:

CREATE EXTERNAL TABLE access_data (
         `Date` DATE,
         Time STRING,
         Location STRING,
         Bytes INT,
         RequestIP STRING,
         Host STRING,
         Uri STRING,
         Status INT,
         Referrer STRING,
         os STRING,
         Browser STRING,
         BrowserVersion STRING 
) 
ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe'
WITH serdeproperties ( 'paths'='`Date`,Time, Uri' )
PARTITIONED BY (dt DATE) STORED AS parquet LOCATION 's3://[source bucket]/';

Я смотрел другие похожие вопросы здесь, но я у меня нет имени таблицы в дефисе, запятых, запятых, несбалансированных обратных тиков или пропущенных скобок и т. д. c ... поэтому я действительно не знаю, что не так. Спасибо всем, кто может помочь!

1 Ответ

0 голосов
/ 12 марта 2020

Похоже, что эти две строки конфликтуют между собой:

ROW FORMAT SERDE 'org.apache.hive.hcatalog.data.JsonSerDe' WITH serdeproperties ...

и

STORED AS parquet

Удаление одной из них позволяет продолжить создание таблицы.

Паркет не хранит данные в формате JSON.

...