【问题标题】:Sqoop import - Execute procedureSqoop 导入 - 执行程序
【发布时间】:2014-06-09 08:33:00
【问题描述】:

我想知道我是否能够在 Sqoop 导入命令中执行一个程序并获得结果。我在网上找不到任何这样的场景。请帮忙

【问题讨论】:

    标签: sqoop


    【解决方案1】:

    我已经尝试过类似的方法并且成功了:

    sqoop import --connect "jdbc:sqlserver://localhost;database=FADA"  --username [name] --password [pdw] --query "print case when $CONDITIONS  then 'yep' else 'yip' end exec dbo.ps" --target-dir /DIR/Psimport  -m 1  
    

    【讨论】:

      【解决方案2】:

      https://issues.apache.org/jira/browse/SQOOP-769

      似乎 Sqoop 不支持它。如果有任何其他工具可以帮助我将数据从 SQL Server 提取到 HDFS,请告诉我

      【讨论】:

        【解决方案3】:

        您是否尝试过 sqoop 中的 --query 选项?此选项的文档在这里:http://sqoop.apache.org/docs/1.4.5/SqoopUserGuide.html#_free_form_query_imports

        【讨论】:

          【解决方案4】:

          Sqoop 导出具有存储过程参数,但您还必须提供将使用存储过程评估的表。

          如果您想从 sqoop 在 oracle 中“执行 Stored_procedure”,您需要使用 eval 并在查询中使用 SQL*plus 执行命令: 'BEGIN STORED_PROCEDURE;结束;'

          示例: sqoop eval -Dmapred.job.queue.name=root.test.test-mis --connect jdbc:oracle:thin:@SERVER.NAME:PORT:INSTANCE --password **** --username MYSCHEMA --query " BEGIN MYSCHEMA.TEST_STORED_PROCEDURE_NAME; END;"

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2017-06-10
            • 1970-01-01
            • 2016-04-26
            • 1970-01-01
            • 2016-08-07
            • 2017-02-03
            • 2015-06-20
            • 1970-01-01
            相关资源
            最近更新 更多