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 查询正在创建多个会话一个不活动和一个活动的主要内容,如果未能解决你的问题,请参考以下文章