hue下 sqoop使用query報錯

最近因工做需求,須要用hue編排任務,利用sqoop導入數據。導入腳本語句以下sql

sqoop import --connect jdbc:oracle:thin:@ip:port/db --username user --password pwd --query "select col1,col2 from db.table where \$CONDITIONS" --target-dir /user/kjxydata/src/LT_READER_${date_time} --delete-target-dir -m 1 --null-string '\\N' --null-non-string '\\N' --as-textfile --fields-terminated-by "\t" --hive-drop-import-delims

但運行時錯誤。 在用hue寫sqoop導入語句時,有幾個坑。oracle

  • 一、在command窗口中不要加 sqoop,直接從import開始。
  • 二、command窗口中使用query是有問題的。對於query後的sql,因爲hue調用oozie,oozie在解析命令時會將sql拆解成多個參數,而不是當成一個參數,致使運行時會沒法解析命令。

針對第二個問題,目前茶到兩種解決方案:ssh

  • 一、直接在hue中利用ssh運行腳本
  • 二、空出command命令框,而在參數框中打入命令

爲保持全部sqoop形式命令一致,我的採用第二種方式。具體解決如圖:oop

圖例

,注意將query語句寫在一個arg中。code

另外還有一點,注意select col1,col2 from db.table where \$CONDITIONS,在sqoop中若是用了query須要加where $CONDITIONS,若是是腳本中用記得加\,可是在參數窗口中不要加\xml

詳情還能夠參考這個cloudera的提問。xml之後的內容就比較明晰了。blog

相關文章
相關標籤/搜索