Пароль sqoop, содержащий точку с запятой
Все,
Я сталкиваюсь с проблемой при выполнении команды sqoop, если точка с запятой является частью пароля. Как заставить sqoop принимать буквальную строку в качестве пароля или если есть какой-либо escape-символ.
Пример команды sqoop, которую я пытаюсь выполнить, приведен ниже
sqoop import --connect jdbc:sqlserver://hostname:1433;database=SampleDB --username username --password samplepassword; --table sampleTable -m 1 --target-dir="/manish/"
Обратите внимание, что пароль заканчивается на ;
Я должен выполнить эту команду неинтерактивным способом из скрипта Python. Любая помощь в этом отношении будет высоко оценена. Спасибо!
1 ответ
Я бы посоветовал перейти к написанию сценария оболочки, если вам нужно использовать точку с запятой (;) в вашем параметре, вы должны экранировать его в оболочке, используя обратную косую черту (формируя \;). Ваша оболочка автоматически преобразует это в одну точку с запятой перед передачей параметра в Sqoop. Точно так же вам может потребоваться заключить некоторые параметры в одинарные или двойные кавычки в командной строке, чтобы ввести параметры с пробелами; оболочка удалит заключающие кавычки перед передачей параметра в Sqoop.
Более подробная информация на: http://what-when-how.com/Tutorial/topic-517medusia/Apache-Sqoop-71.html