Apache Sqoop Cookbook 英文版-翻译学习!!
更多信息https://blue-shadow.top/
5.2批量插入数据
问题
虽然Sqoop的导出功能符合需要, 但速度太慢。每一行都插入到单独的insert语句中,是否有方法将多个insert语句一起批处理?
解决方案
Sqoop 为各种数据库和用例量身定做, 为每次插入多行提供多个选项。
首先, 可以使用--batch参数启用 JDBC 批处理:
sqoop export \
--connect jdbc:mysql://mysql.example.com/sqoop \
--username sqoop \
--password sqoop \
--table cities \
--export-dir cities \
--batch
第二个选项是使用属性 sqoop.export.records.per.statement 指定将在每个 insert 语句中使用的记录数:
sqoop export \
-Dsqoop.export.records.per.statement=10 \
--connect jdbc:mysql://mysql.example.com/sqoop \
--username sqoop \
--password sqoop \
--table cities \
--export-dir cities
最后, 您可以设置将每个事务插入多少行通过 sqoop.export.statements.per.transaction 属性:
sqoop export \
-Dsqoop.export.statements.per.tran