我们可以一次使用具有主要和非主要的sqoop导入表。例如,我在数据库中拥有200个主键表和200个非priamry键表。我们如何一次导入400个表?
答案 0 :(得分:1)
除了杰米的回答:
您可以在--autoreset-to-one-mapper
命令中添加sqoop import-all-tables...
标记。
假设您在命令中使用了8个映射器(-m 8
)。然后使用上面带有主键的标签表将根据映射器的数量进行拆分,而没有主键的表将使用1个映射器加载。
所以,整体而言你的效率会提高。
检查sqoop documentation的第一个点以获取详细信息。
答案 1 :(得分:0)
是的,您可以将标记int num = 0;
String save = at.getText().toString() + ".jpg";
File file = new File(myDir, save);
if (file.exists()) {
save = at.getText().toString() + num +".jpg";
file = new File(myDir, save);
num++;
}
添加到所有表的导入命令中(包含主键的200和不包含主键的200)。
通过添加此选项,Sqoop将只使用一个映射器从表中检索所有数据,因此您的命令将如下所示:
--m 1