Sqoop:如何在运行sqoop导入之前获取所有表的记录计数

时间:2018-05-08 13:22:33

标签: count sqoop

我正在尝试使用sqoop将数据库中的所有表从SQL关系数据库导入到hive中。在此之前,我想知道源数据库中每个表中有多少条记录。通过这种方式,我可以了解对源数据库的影响估计,并希望这种影响很小。

有一种简单的方法吗?我尝试使用select count(*) from dbname.tbname之类的查询。它不起作用。这是我的sqoop的样子:

sqoop import -Dmapred.job.queue.name=$myqueue   
    --connect "jdbc:sqlserver://$svr;database=$db;username=$user;password=$pass" 
    --query "select count(*) from $tbname "  
    --target-dir $detdatadir/$filerecord -m3 

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

sqoop命令应该是这样的

sqoop eval -Dmapred.job.queue.name=$myqueue   
--connect "jdbc:sqlserver://$svr;database=$db;username=$user;password=$pass" 
--query "select count(*) from $tbname"