如何运行sqoop导入并将任务与特定的调度程序队列相关联

时间:2014-06-09 13:33:02

标签: hadoop sqoop

我遇到了需要运行sqoop导入并将MR作业放入特定队列的情况。

我尝试了以下命令,但它无法正常工作。

/ usr / bin / sqoop import -Dmapred.job.queue.name = scheduledjobs --username = hduser --password = XXXXXXX --connect jdbc:mysql://127.0.0.1/analytics --fields-terminated- by',' --query" SELECT电子邮件FROM analytics.store WHERE \ $ CONDITIONS" -m1 --hive-import --hive-table" abce.ucsd" --hive-overwrite --target-dir / result /

这也不起作用

/ usr / bin / sqoop import --Dmapred.job.queue.name = scheduledjobs --username = hduser --password = XXXXXXX --connect jdbc:mysql://127.0.0.1/analytics --fields-terminated -by',' --query" SELECT电子邮件FROM analytics.store WHERE \ $ CONDITIONS" -m1 --hive-import --hive-table" abce.ucsd" --hive-overwrite --target-dir / result /

请让我知道我做错了什么。

1 个答案:

答案 0 :(得分:2)

这是一个老问题,但也许答案可以帮助其他人。上面的sqoop导入在Dmapred.job.queue.name调用之前有1个额外的-

你有

/usr/bin/sqoop import **--**Dmapred.job.queue.name=scheduledjobs --username=hduser

它应该是

/usr/bin/sqoop import **-**Dmapred.job.queue.name=scheduledjobs --username=hduser 

如果您使用--的那个,它将失败并显示错误解析参数消息。