Выражение в предложении Hive LIMIT - PullRequest
0 голосов
/ 28 ноября 2018

В Impala вы можете сделать это:

ВЫБРАТЬ x ИЗ ОГРАНИЧЕНИЯ t1 cast (усечь (9.9) AS INT) ;

Но в Hive, кажется,взять только LIMIT [константа] .

Есть ли способ добавить выражение в LIMIT?

https://www.cloudera.com/documentation/enterprise/5-6-x/topics/impala_limit.html

1 Ответ

0 голосов
/ 28 ноября 2018

К сожалению, это невозможно в Hive.В качестве обходного пути вы можете вычислить переменную в оболочке и передать ее в Hive, используя переменную --hivevar. Limit * В предложении допускаются только рассчитанные переменные или константы в качестве аргументов:

Демонстрация с переменной.Вы также можете передать его в качестве аргумента --hivevar в командной строке куста:

    hive> set hivevar:limit=10;

    hive> select 10 limit ${hivevar:limit};
    OK
    10
    Time taken: 0.098 seconds, Fetched: 1 row(s)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...