你能指定sqoop-export的提交大小吗?

时间:2013-10-25 02:35:51

标签: mysql commit sqoop

来自Sqoop用户指南:

  

Sqoop使用多行INSERT语法为每个语句插入最多100条记录。每100个语句,写入任务中的当前事务就会被提交,导致每10,000行提交一次。

但它没有提到你是否可以指定特定的提交大小。因此,我的问题是 - 你能说出来吗?有谁知道?

1 个答案:

答案 0 :(得分:1)

可以使用两个属性来调整此行为:

  1. sqoop.export.records.per.statement - 将为单个插入语句创建的行数,例如: INSERT INTO xxx VALUES(),(),(),...
  2. export.statements.per.transaction - 每个事务的插入语句数。例如,开始; INSERT,INSERT,.... COMMIT
  3. 您可以在命令行的HADOOP_ARGS部分中指定属性(甚至同时指定两者),例如:

      sqoop export -Dsqoop.export.records.per.statement=X --connect ...
    

    您可以在Apache Sqoop Cookbook找到有关其用法的进一步说明。