我想使用Sqoop从oracle数据库导入大表到HDFS。 由于表大小很大并且它具有主键,因此sqoop可以并行运行多个映射器。
我在
中有一些问题1)由于oracle数据库中记录错误,一个映射器出现异常,其他映射器运行正常。因此,所有作业都会失败,或者除了一个映射器数据外,所有其他映射器都会在HDFS中写入数据?
2)如果我们hive -m选项,sqoop是否足够智能以运行并行映射器。 如果我们给-m 4那么sqoop可以根据表大小增加映射器,或者只运行4?
有没有人遇到过这种情况?
答案 0 :(得分:0)
根据我的知识。
如果一个映射器失败,sqoop进程将尝试终止其他映射器。该过程不会从HDFS中删除数据。您可以看到在HDFS位置创建了一些数据。
当我们指定mapper的数量时(使用-m x选项),程序最多只能使用x mapper。