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

Posted

技术标签:

【中文标题】Sqoop 查询正在创建多个会话一个不活动和一个活动【英文标题】:Sqoop query is creating Multiple Sessions One inactive and One Active 【发布时间】:2015-12-27 20:25:51 【问题描述】:

当我执行 SQOOP 查询时,它会在 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】:

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

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

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

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

【讨论】:

以上是关于Sqoop 查询正在创建多个会话一个不活动和一个活动的主要内容,如果未能解决你的问题,请参考以下文章

由于不活动而导致会话超时[重复]

Android应用开始和结束事件

php,如何检测会话ID是死的还是活的? [复制]

如何在不影响密码更改行为的情况下正确防止 ASP.NET Identity 2.2.1 中的多个活动会话?

Quickblox 管理会话和召回?

在同一会话上从 pyspark 运行多个配置单元查询