Да. Вы правы. Вы можете использовать Sqoop "import-all-tables"
вместе с другим параметром --exclude-tables
, с помощью которого вы можете исключить некоторые таблицы, которые вы не хотите импортировать в базу данных.Другой вариант, который вы можете попробовать - это скрипт оболочки, как показано ниже:
1) Подготовьте входной файл со списком DBNAME.TABLENAME
2) Сценарий оболочки будет иметь этот файл в качестве входных данных, итерировать строкустрока и выполнение оператора sqoop для каждой строки
while read line;
do
DBNAME=`echo $line | cut -d'.' -f1`
tableName=`echo $line | cut -d'.' -f2`
sqoop import -Dmapreduce.job.queuename=$QUEUE_NAME --connect '$JDBC_URL;databaseName=$DBNAME;username=$USERNAME;password=$PASSWORD' --table $tableName --target-dir $DATA_COLLECTOR/$tableName --fields-terminated-by '\001' -m 1
done<inputFile