2017-03-15 55 views
0

我創建了一個名爲database.txt其內容的文件是:Sqoop - 問題--options-file參數

--connect jdbc:oracle:thin:@//123.123.123.123:123/database --username user --password pass

,當我嘗試在sqoop查詢中使用它像如下:

sqoop import --options-file database.txt --table MyTable --as-avrodatafile --null-string '\N' --null-non-string '\N' --compress --compression-codec org.apache.hadoop.io.compress.DeflateCodec --target-dir hdfs:///user/myuser/AvroFiles/table --split-by SRC --enclosed-by '\"' --map-column-java CREATED_DATT=String,UPDATED_DATT=String

我得到以下錯誤:

17/03/15 11:06:23 ERROR tool.BaseSqoopTool: Error parsing arguments for import: 17/03/15 11:06:23 ERROR tool.BaseSqoopTool: Unrecognized argument: --connect jdbc:oracle:thin:@//123.123.123.123:123/database --username user --password pass 17/03/15 11:06:23 ERROR tool.BaseSqoopTool: Unrecognized argument: --table 17/03/15 11:06:23 ERROR tool.BaseSqoopTool: Unrecognized argument: MyTable 17/03/15 11:06:23 ERROR tool.BaseSqoopTool: Unrecognized argument: --as-avrodatafile ...

但是,如果我寫的連接參數直接一切工作正常:

sqoop import --connect jdbc:oracle:thin:@//123.123.123.123:123/database --username user --password pass --table MyTable --as-avrodatafile --null-string '\N' --null-non-string '\N' --compress --compression-codec org.apache.hadoop.io.compress.DeflateCodec --target-dir hdfs:///user/myuser/AvroFiles/table --split-by SRC --enclosed-by '\"' --map-column-java CREATED_DATT=String,UPDATED_DATT=String

我在做什麼錯?

回答

1

選項文件是一個文本文件,其中每行以其它命令行中出現的順序標識選項。

修改database.txt

--connect 
jdbc:oracle:thin:@//123.123.123.123:123/database 
--username 
user 
--password 
pass 

檢查sqoop documentation瞭解更多詳情。