Облачная платформаAdvanced

Почему при создании таблицы Hive с помощью CTAS возникает ошибка разбора схемы?

Язык статьи: Русский
Показать оригинал
Страница переведена автоматически и может содержать неточности. Рекомендуем сверяться с английской версией.

В настоящее время DLI поддерживает создание таблиц форматов TEXTFILE, SEQUENCEFILE, RCFILE, ORC, AVRO и PARQUET с использованием синтаксиса Hive.

Если вы создаёте таблицу с помощью операторов CTAS, указываете формат AVRO и затем используете число в качестве входных данных для оператора SELECT (например, CREATE TABLE tb_avro STORED AS AVRO AS SELECT 1), будет сообщено исключение разбора схемы.

Если имя столбца не указано, содержимое после SELECT используется одновременно в качестве имени столбца и вставляемого значения. Имя столбца таблицы AVRO не может быть цифрой. В противном случае будет сообщена ошибка, указывающая, что схема не может быть разобрана.

Решение: Вы можете использовать CREATE TABLE tb_avro STORED AS AVRO AS SELECT 1 AS colName, чтобы указать имя столбца, или установить формат хранения, отличный от AVRO.