Как правильно использовать подстановку переменных улья - PullRequest
1 голос
/ 20 марта 2019

Когда я использую подстановку переменных в кусте, я сталкиваюсь с некоторыми ошибками, но мне нужна ваша помощь.

Мой код:

set hievar:b='on t1.id=t2.id where t2.id is null';
select * from t_old as t1 full outer join t_new as t2 ${b};

, когда я запускаю этот код в оболочке улья, это дает мне некоторую ошибку о ${b}.

Я также пытаюсь это:

set hivevar:c='select * from t_old as t1 full outer join t_new as t2 on t1.id=t2.id where t2.id is null';
${c};

Это дает мне ту же ошибку.

1 Ответ

0 голосов
/ 20 марта 2019

Исправьте hivevar имя пространства имен (в вашем коде это hievar) и удалите кавычки, потому что они также передаются как в Hive.

Пример:

set hivevar:b=where 1=1; --without quotes
select 1 ${hivevar:b}; --you can do without hivevar: as in your example

Результат:

OK
1
Time taken: 0.129 seconds, Fetched: 1 row(s)

Второй пример:

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