我使用sqoop以avro格式将数据从oracle导出到hdfs,使用下面的查询
sqoop import --connection-param-file ora.properties --connect jdbc:oracle:thin:@//host:port/servicename --username <user> --password-file <password-file> --map-column-java TRADE_NUM=Integer,STRATEGY_NUM=Integer,COMMISSION_AMT=Double,TRADE_INPUT_DT=String --query "SELECT * FROM XYZ WHERE \$CONDITIONS " --target-dir <location on hdfs> --delete-target-dir --split-by TRADE_NUM --verbose --compress --as-avrodatafile
我想从一个文件传递Map(--map列java),而不是从命令行提供,是否有这样做的选项,请建议。
1条答案
按热度按时间pkbketx91#
可以使用options文件将参数传递给sqoop。根据文档,您可以使用
--options-file
指定包含参数的文件。在使用sqoop时,为了方便起见,可以将不随调用而改变的命令行选项放在选项文件中。选项文件是一种文本文件,其中每行按选项在命令行中的显示顺序标识一个选项(…)选项文件可以在命令行中的任何位置指定,只要其中的选项遵循其他指定的选项顺序规则。