версия Sqoop: 1.4.6.2.3.4.0-3485Как указать несколько условий в sqoop?
Я пытался импортировать данные с помощью sqoop с помощью следующей команды:
sqoop import -libjars /usr/local/bfm/lib/java/jConnect-6/6.0.0/jconn3-6.0.0.jar --connect jdbc:sybase:db --username user --password 'pwd' --driver com.sybase.jdbc3.jdbc.SybDriver --query 'SELECT a.* from table1 a,table2 b where b.run_group=a.run_group and a.date<"7/22/2016" AND $CONDITIONS' --target-dir /user/user/a/ --verbose --hive-import --hive-table default.temp_a --split-by id
Я получаю следующее сообщение об ошибке:
Invalid column name '7/22/2016'
Я попытался ограждающим запрос в двойных кавычках, но потом он говорит:
CONDITIONS: Undefined variable.
Пробовал несколько комбинаций одиночных/двойных кавычек и избежал $ УСЛОВИЙ и с помощью переключателя --where.
PS: Условия не являются числовыми. (Он работает в тех случаях, как, где х < 10 или около того, но не в случае, когда это строка или дата)
Когда вы пытались включить весь запрос в двойные кавычки и другие строки в одиночных, вы добавили обратную косую черту перед $ УСЛОВИЯМИ? Что-то вроде этого: --query «SELECT a. * (...) и a.date <'7/22/2016' AND \ $ CONDITIONS" Я читал, что вы тоже пытались избежать условий $, но это просто должно быть о различных комбинациях, которые вы пробовали. –
Этот запрос работает с клиентом RDBMS: 'SELECT a. * From table1 a, table2 b где b.run_group = a.run_group и a.date <" 7/22/2016 "' –
Если он работает, попробуйте '' SELECT a. * from table1 a, table2 b где b.run_group = a.run_group и a.date <'7/22/2016' AND \ $ УСЛОВИЯ ", как было предложено Jaime –