Sqoop查询正在创建多个会话一个非活动和一个活动

时间:2015-12-27 20:25:52

标签: oracle sqoop

当我执行SQOOP Query时,它在Oracle中创建了多个会话。

我希望每个sqoop查询只有一个活动会话。

SQOOP查询是:

sqoop import - Dhadoop.security.credential.provider.path=jceks://a/b/pwd.password.jceks 
--connection-manager org.apache.sqoop.manager.OracleManager 
--connect jdbc:oracle:thin:@//21.12.12.21:2500/W1P923 
--username USERNAME 
--password-alias alias-USER 
--query 
       "SELECT CONCAT(TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'),'.000000') 
        as HDFS_LOAD_DTTM, CONCAT(TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS'),'.000000') 
        as HDFS_UPDATE_DTTM, (nvl(SUM(SCHEME_ROUND),0)-nvl(SUM(NUM_OF_TO),0)) 
        AS USED_BD, 'A' as INDICATOR from RACKER PARTITION(RACKER_PR121) 
        WHERE \$CONDITIONS GROUP SCHEME_ROUND" 
--escaped-by \\\\ --null-string '' --null-non-string '' 
--direct --fields-terminated-by '|' -m 1 
--target-dir /dev/racker_month/partDate=RACKER_PR121 &

1 个答案:

答案 0 :(得分:1)

您的sqoop脚本至少会有2个会话。

  • 一个用于获取查询的元数据以生成用于执行导入的java类。生成java类后,sqoop将创建jar文件并使用jar进行导入。
  • 由于您的映射器数量为1,它将创建另一个会话以执行导入。

Oracle的行为是显示第一个会话处于非活动状态。它将在一段时间后关闭。

你所看到的是预期的行为。您可以通过加入v $ session和v $ sql来查看查询的详细信息,以获取sqoop在这些会话中运行的查询的详细信息。