如何修改Apache Beam Python SDK中WriteToJdbc的批处理大小?
修改Apache Beam中WriteToJdbc的批处理大小(Python)
要解决WriteToJdbc默认批处理过小导致写入MSSQL耗时过长的问题,直接在WriteToJdbc构造函数中添加batch_size参数即可,该参数用于指定每次批量写入的行数。
修改后的代码示例
| "Write" >> WriteToJdbc( table_name=jdbc_table, driver_class_name=jdbc_driver_class, jdbc_url=jdbc_url, username=jdbc_user, password=jdbc_password, connection_properties="", max_connections=-1, batch_size=10000 # 自定义批处理大小,可根据数据库性能调整 )
注意事项
- 批处理大小并非越大越好,需结合MSSQL的配置(如
max_batch_size、内存资源等)调整,避免因单次批量过大导致数据库负载过高或插入失败。 - 若调整后仍有性能问题,可同步优化
max_connections参数(设置合理的并发连接数),配合更大的批处理量提升写入效率。
内容的提问来源于stack exchange,提问作者Redhill
相关产品推荐
相关产品推荐

