У меня есть таблица в Hive, в которой есть имя столбца со специальным символом "#" Как мне выбрать # для выбора столбца?
SELECT a3suph, a3sph # FROM schema.dbname; выдает исключение.
ParseException строка 1:20 символ '#' здесь не поддерживается. Я использую DBeaver для подключения к Hive.
Начиная с версии Hive 0.13, поддерживаются идентификаторы в кавычках в именах столбцов таблицы.Идентификаторы в кавычках в Hive чувствительны к регистру.Образец:
CREATE TABLE bucket_test(`key?1` string, value string) CLUSTERED BY (`key?1`) into 5 buckets;
Hortonworks Ссылка: https://docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.6.5/bk_data-access/content/hive-013-feature-quoted-identifiers.html
Это также проблема, когда имя столбца является ключевым словом HiveQL (даже указанным подсветкой синтаксиса в приведенном ниже примере).
SELECT `a3sph#`, `case`, `when` FROM schema.dbname
Инкапсуляция имен столбцов в кавычках должна работать.