Sqoop: Как получить количество записей для всех таблиц перед запуском импорта sqoop - PullRequest
0 голосов
/ 08 мая 2018

Я пытаюсь использовать sqoop для импорта всех таблиц в базе данных из реляционной базы данных SQL в куст. Прежде чем сделать это, я хотел бы знать, сколько записей в каждой из таблиц в моей исходной базе данных. Таким образом, я могу получить оценку влияния на исходную базу данных, и я хочу, чтобы это влияние было небольшим.

Есть ли простой способ сделать это? Я пытался использовать запрос, такой как 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 голосов
/ 24 мая 2018

команда sqoop должна быть такой

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