首页 > 解决方案 > sqoop eval 中文件的 SQL 评估参数

问题描述

是否有任何选项可以从文件运行 SQL 评估参数,而不是在 sqoop eval 期间使用 --query 参数对 sql 语句进行硬编码?

例如:

sqoop eval -D mapreduce.job.queuename=NONP.XXXX --connect "jdbc:oracle:thin:ABC/PSCODE@XXX.XX.XX.com:61901/XXX_ANY" --username XXXX --password DXX --query "TRUNCATE TABLE SAMPLE_STG_TABLE DROP STORAGE" ;

我想将语句存储"TRUNCATE TABLE SAMPLE_STG_TABLE DROP STORAGE"在文件 statement.sql 中并使用 statement.sql 运行 sqoop eval 我应该使用什么参数代替 --query (-e?)

标签: hadoopevalsqoop

解决方案


你可以这样做:

sql=`cat statement.sql`
sqoop eval -D mapreduce.job.queuename=NONP.XXXX --connect "jdbc:oracle:thin:ABC/PSCODE@XXX.XX.XX.com:61901/XXX_ANY" --username XXXX --password DXX --query "$sql";

推荐阅读