Я вижу, что приведенный ниже запрос CTAS завершился неудачно в HIVE: -
CREATE EXTERNAL table table_2 LOCATION '..' AS SELECT * FROM table_1
во время выполнения того же запроса в SPARK SQLработает нормально.
Я пробовал это в SPARK SHELL, где реализация SPARK SQL CATALOG только Hive.
spark.sql.catalogImplementation = hive
Пожалуйста, дайте мне знать, почему этоработает в SPARK SQL?
Для Hive я узнал объяснение - CTAS просто изменяет указатель новой таблицы, чтобы ссылаться на местоположение данных существующей таблицы, и не копировать данные существующей таблицы в местоположениеновый столВот почему он не работает для создания внешних таблиц с использованием синтаксиса CTAS.
Но я не уверен, почему он работает в SPARK, если его основным контекстом является только контекст HIVE.
Спасибо