我创建了一个名为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 - 关闭' \"' --map柱-java的 CREATED_DATT =字符串,UPDATED_DATT =字符串
我收到以下错误:
17/03/15 11:06:23 ERROR tool.BaseSqoopTool:解析参数时出错 for import:17/03/15 11:06:23 ERROR tool.BaseSqoopTool:无法识别 参数: - connect jdbc:oracle:thin:@ // 123.123.123.123:123/database --username user --password pass 17/03/15 11:06:23 ERROR tool.BaseSqoopTool:无法识别的参数: - 表17/03/15 11:06:23 ERROR tool.BaseSqoopTool:无法识别的参数:MyTable 17/03/15 11:06:23 ERROR tool.BaseSqoopTool:无法识别的参数: --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 - 关闭' \"' --map柱-java的 CREATED_DATT =字符串,UPDATED_DATT =字符串
我做错了什么?
答案 0 :(得分:1)
选项文件是一个文本文件,其中每一行按照命令行中显示的顺序标识选项。
修改database.txt
:
--connect
jdbc:oracle:thin:@//123.123.123.123:123/database
--username
user
--password
pass
检查sqoop documentation以获取更多详细信息。