Как передать переменную, содержащую пробелы в куст? - PullRequest
0 голосов
/ 09 мая 2018

Я пытаюсь отправить полный оператор выбора в мой скрипт улья через переменную через скрипт оболочки, например

QUERY="select * from abc;"
hive -f hive_script.hql -hivevar QUERY=${QUERY}

Мой скрипт улья выглядит так:

CREATE table AS ${QUERY}

Однако это дает мне ошибку. Я проверил журнал улья, и запрос выглядит как

 CREATE table AS select 

, то есть игнорируется часть * from abc; Как передать переменную с пробелами в мой скрипт улья?

1 Ответ

0 голосов
/ 09 мая 2018

Это очень хорошее объяснение

https://unix.stackexchange.com/questions/131766/why-does-my-shell-script-choke-on-whitespace-or-other-special-characters

По сути, вам нужно поместить двойные кавычки между вашей переменной, чтобы сохранить несколько значений

QUERY="select * from abc;"
hive -f hive_script.hql -hivevar QUERY="${QUERY}"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...