【发布时间】:2014-06-09 08:33:00
【问题描述】:
我想知道我是否能够在 Sqoop 导入命令中执行一个程序并获得结果。我在网上找不到任何这样的场景。请帮忙
【问题讨论】:
标签: sqoop
我想知道我是否能够在 Sqoop 导入命令中执行一个程序并获得结果。我在网上找不到任何这样的场景。请帮忙
【问题讨论】:
标签: sqoop
我已经尝试过类似的方法并且成功了:
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
【讨论】:
https://issues.apache.org/jira/browse/SQOOP-769
似乎 Sqoop 不支持它。如果有任何其他工具可以帮助我将数据从 SQL Server 提取到 HDFS,请告诉我
【讨论】:
您是否尝试过 sqoop 中的 --query 选项?此选项的文档在这里:http://sqoop.apache.org/docs/1.4.5/SqoopUserGuide.html#_free_form_query_imports
【讨论】:
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;"
【讨论】: