Amazon Athena: нет жизнеспособной альтернативы на входе

При создании таблицы в Афине; это дает мне следующее исключение:

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

Ответ 1

дефисы не разрешены в имени таблицы.. (хотя мастер позволяет это). Просто удалите дефис и он работает как шарм

Ответ 2

К сожалению, на данный момент сообщения об ошибках проверки синтаксиса не очень описательны в Athena, эта ошибка может означать "почти" любые возможные синтаксические ошибки в инструкции create table.

Хотя это раздражает на данный момент, вам нужно будет проверить, следует ли синтаксис следовать Создать таблицу.

Некоторые примеры:

  • Backticks не на месте (как уже указывалось)
  • Отсутствующие/дополнительные запятые (помните, что последнему столбцу не нужна запятая после определения столбца
  • Отсутствующие пробелы
  • Подробнее..

Ответ 3

Эта ошибка обычно возникает, когда в синтаксисе DDL есть несколько глупых ошибок. Существует несколько ответов, объясняющих разные ошибки в зависимости от их состояния. Простое решение этой проблемы - терпеливо изучать DDL и проверять следующие пункты построчно: -

  1. Проверьте пропущенные запятые
  2. Несбалансированный "(оператор обратного хода)
  3. Несовместимый тип данных, не поддерживаемый HIVE (ССЫЛКА НА ТИПЫ ДАННЫХ HIVE)
  4. Несбалансированная запятая
  5. Hypen в названии таблицы

Ответ 4

В моем случае это было из-за запятой после последнего столбца в таблице. Например:

CREATE EXTERNAL TABLE IF NOT EXISTS my_table (
  one STRING,
  two STRING,
) LOCATION 's3://my-bucket/some/path';

После того, как я удалил запятую в конце two STRING, он работал нормально.

Ответ 5

В моем случае это была дополнительная запятая в разделе PARTITIONED BY,

Ответ 6

В моем случае у меня отсутствовали единственные значения для URL-адреса S3

Ответ 7

В моем случае это было то, что одно из имен столбцов таблицы было заключено в одинарные кавычки в соответствии с документацией AWS :( ('bucket')

Ответ 8

Мой случай: это была внешняя таблица, и в этом месте была опечатка (следовательно, ее не было)

Пара советов:

  • Нажмите кнопку "Формат запроса", чтобы вы могли легко находить ошибки
  • Используйте пример внизу документации - он работает - и измените его с вашими параметрами: https://docs.aws.amazon.com/athena/latest/ug/create-table.html