sqoop create-hive-table 支持只迁移建表语句,但是不支持批量创建,因此写了一个脚本去执行
#!/bin/bash
if [ $1 ]
then
tb=$1
array=(${tb//,/ })
for var in ${array[@]}
do
/opt/apps/sqoop-1.4.7/bin/sqoop create-hive-table \
--connect jdbc:mysql://dream3:3306/test \
--table ${var} \
--username root \
--password root \
--hive-table test.${var} \
--fields-terminated-by '\t' \
--lines-terminated-by '\n'
if [ $? -eq 0 ]
then echo "import ${var} successfully!"
else echo "import ${var} failed!"
fi
done
else
echo "请传入mysql需要迁移的表,多个表直接“,”分割"
fi
sh batch_create.sh table1,table2