0

Я хотел бы передать hive arg, содержащий единственную цитату в строке. Это приводит к тому, ЭМИ Работа на провал со следующей ошибкой:HIVE: Как я могу передать hiveconf, который содержит одну цитату?

sh: -c: line 0: unexpected EOF while looking for matching `'' 
sh: -c: line 1: syntax error: unexpected end of file 
Command exiting with ret '255' 

Желаемая Variable:

-hiveconf "myvar=Today's a great day for a test!" 

Любые идеи? Благодарю.

ответ

0

попробовать:

SET myvar="Today's a great day for a test!"; 

затем вызвать его:

SELECT * FROM myTable WHERE test_today=${hiveconf:myvar} 

Это работало для меня, когда я попробовал это, но когда я пытаюсь:

SET myvar=Today's a great day for a test! (withoutquotes) 

Я получаю сообщение об ошибке. Надеюсь, что это поможет

+0

Я попытался добавить двойные кавычки вокруг строки и, к сожалению, это не сработало, получена следующая ошибка: sh: -c: line 0: неожиданный EOF при поиске соответствия '' ' sh: -c: строка 1: синтаксическая ошибка: неожиданный конец файла. Также я передаю строку через задание EMR, поэтому я не могу установить переменную непосредственно в консоли куста. Спасибо. Команда, выходящая с ret '255' – user922295

+0

Не могли бы вы предоставить точную команду и ошибку, которые вы используете и получаете? Вы передаете это через задание EMR, так что вы помещаете это в терминал, правильно? – Engineiro

+0

Так что я не могу передать точную команду, но вот очень очищенная версия о том, что я перехожу к заданию ЭМИ, это шаг в этом процессе: 's3n: //us-east-1.elasticmapreduce/libs/hive/hive-script --base-path s3n: // us- восток -1.elasticmapreduce/libs/hive/-hive-versions latest -run-hive-script -args -f s3: //bucket/myscript.hql -hiveconf "my_var = \" Сегодня отличный день! \ " "' – user922295