AWS Athena: HIVE_UNKNOWN_ERROR: невозможно создать формат ввода - PullRequest
0 голосов
/ 02 декабря 2018

Я просканировал пару файлов XML на S3, используя AWS Glue , используя простой классификатор XML:

enter image description here

Однако, когда я пытаюсь выполнить любой запрос для этих данных, используя AWS Athena , я получаю следующую ошибку (обратите внимание, что это самый простой запрос, который я делаю здесь):

HIVE_UNKNOWN_ERROR: невозможно создать формат ввода

enter image description here

Обратите внимание, что Афина может видеть мойтаблицы и он может видеть столбцы, он просто не может их запросить:

enter image description here

  • Я знаю, что естьпохожий вопрос здесь об этой ошибке, но рассматриваемый запрос нацелен на базу данных RDS, в отличие от корзины S3, как у меня здесь.

Кто-нибудь пошелрешение для этого?

1 Ответ

0 голосов
/ 02 декабря 2018

К сожалению в это время 12/2018 Афина не может запрашивать ввод XML , что трудно понять, когда вы слышите, что Афина вместе с AWS Glue может запрашивать XML.

То, что вы видите на сканере AWS, верно, но не то, что вы думаете о его работе!Например, после того, как ваш сканер запустился и вы видите таблицы, но не можете выполнять запросы Athena.Зайдите в каталог клея AWS и щелкните правой кнопкой мыши по таблицам, выберите таблицу, отредактируйте свойства, и она будет выглядеть примерно так: enter image description here

Обратите внимание, что формат ввода равен нулю?Если у вас есть какие-либо другие таблицы, вы можете посмотреть их свойства или обратиться к документации по входным форматам для Athena .Это ошибка, которую вы получаете.

Решения:

  1. преобразуйте ваши данные в текстовые / json / avro / другие поддерживаемые форматы перед загрузкой
  2. создайте связующее задание AWS, которое преобразует источник в цельот xml до целевого поддерживаемого формата Athena (возможно, сжатого с помощью ORC / Parquet)
...