специальный символ "#" в имени столбца в запросе выбора Hive - PullRequest
0 голосов
/ 13 февраля 2019

У меня есть таблица в Hive, в которой есть имя столбца со специальным символом "#" Как мне выбрать # для выбора столбца?

SELECT a3suph, a3sph # FROM schema.dbname; выдает исключение.

ParseException строка 1:20 символ '#' здесь не поддерживается. Я использую DBeaver для подключения к Hive.

Ответы [ 2 ]

0 голосов
/ 23 февраля 2019

Начиная с версии 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

0 голосов
/ 22 февраля 2019

Это также проблема, когда имя столбца является ключевым словом HiveQL (даже указанным подсветкой синтаксиса в приведенном ниже примере).

SELECT `a3sph#`, `case`, `when`
FROM schema.dbname

Инкапсуляция имен столбцов в кавычках должна работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...