Sqoop - --options-file 参数的问题

Sqoop - problems with --options-file parameter

我创建了一个名为 database.txt 的文件,其内容是:

--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

我做错了什么?

选项文件是一个文本文件,其中每行按照它在命令行中出现的顺序标识一个选项。

修改database.txt

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

查看 sqoop documentation 了解更多详情。