我找到的所有搜索都显示了如何导入一个表或建议导入所有表。如果我想从数据库中得到440张表中的35张呢。我可以只写一个命令并用逗号分隔表吗?还是必须把它放在脚本中,一遍又一遍地复制和传递命令,每次都更改表名?
我想做的是:
echo "Sqoop Import"
--options-file ${path}
--table tbl1,tbl2,tbl3\
--target-dir ${path}
--m 1\
我担心我可能要做的是:
echo "Sqoop Import"
--options-file ${path}
--table tbl1\
--target-dir ${path}
--m 1
wait
echo "Sqoop Import"
--options-file ${path}
--table tbl2\
--target-dir ${path}
--m 1
3条答案
按热度按时间6tdlim6h1#
使用
--exclude-tables "table1,table2"
选项忽略表1和表2。不要在表名(aka。
"table1, table2"
)f45qwnt82#
您还可以将相同的命令应用于配置单元导入,如下所示:
记住,在 hive 里你需要临时区域。
b4lqfgs43#
很明显,一个sqoop开发人员的想法和你一样
可以使用“导入所有表”。
然后添加--exclude tables以逗号分隔的要从导入过程中排除的表列表。
https://sqoop.apache.org/docs/1.4.0-incubating/sqoopuserguide.html#id1766722