我有一张表A,它不断更新新记录。我试图将表A中的记录平滑到HDFS,例如下午2:00 CT(源表A有5M记录),sqoop在CT下午4:00结束(表A有5.5M记录)。我的问题是
答案 0 :(得分:1)
根据documentation,Sqoop使用read committed transaction isolation。因此,一旦执行了Sqoop在其下执行的(一个或多个)SELECT
查询,“选定”记录将是将要插入Hive的记录(我假设您将数据导入Hive因为你在问题中使用的标签)。因此,决定最终导入的记录数(5M或5.5M记录)的是执行SELECT
个查询,而不是整个导入过程所花费的总时间。
请记住,您可以通过指定要使用的映射器数量来控制导入过程的并行性(参数--num-mappers
)。每个映射器都将执行独立的SELECT
查询。
此外,您可以考虑使用incremental imports来检索导入过程完成后添加到数据库的新数据。此外,您还可以使用free-form queries对要导入数据库的数据量进行更精细的控制。