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.
嘗試了單個/雙引號的幾個組合,並轉義$ CONDITIONS並使用--where開關。
PS:條件是非數字的。 (它的工作原理的案件類似,其中x < 10左右,但不是在情況下它是一個字符串或日期)
當你試圖用雙引號括住整個查詢,而其他字符串在單個引號中時,是否在$ CONDITIONS之前添加了反斜槓?就像這樣:--query「SELECT a。*(...)and a.date <'7/22/2016'AND \ $ CONDITIONS」我讀過你試圖逃避$條件,但它只是爲了確定你嘗試過的不同組合。 –
這個查詢在RDBMS客戶端上工作:'SELECT a。* from table1 a,table2 b where b.run_group = a.run_group and a.date <「7/22/2016」' –
如果它正在工作,那麼請嘗試'「SELECT a。* from table1 a,table2 b其中b.run_group = a.run_group和a.date <'7/22/2016'AND \ $ CONDITIONS「'由Jaime建議 –