用Java构建大容量批量数据处理工具
我正在尝试使用Java构建一个ETL工具。ETL工具用于对大量数据(包括关系数据和其他类型的数据)执行批读、写和更新操作。我发现很难选择正确的框架/工具来完成这项任务 简化的典型用例:用Java构建大容量批量数据处理工具,java,jdbc,etl,Java,Jdbc,Etl,我正在尝试使用Java构建一个ETL工具。ETL工具用于对大量数据(包括关系数据和其他类型的数据)执行批读、写和更新操作。我发现很难选择正确的框架/工具来完成这项任务 简化的典型用例: 建立与数据库的连接(源) 读取连接两个表的一百万条记录 与另一个数据库(目标)建立连接 更新/写入目标数据库中的100万条记录 我的选择: 使用普通JDBC。使用JDBC构建更高级别的API,以完成与数据库之间的连接、读取和写入数据的任务 使用Spring或Hibernate之类的框架。我从未使用过这些框架。我认
最近,我做了很多谷歌搜索,但如果您能提供一些“第一手”意见,我将不胜感激。基于您的使用场景,我将推荐您。它很容易学习和实现。在高层,它包含以下3个重要组件
感谢所有与Spring批处理相关的更新。然而,经过一些研究,我决定使用EasyBatch。从 Easy Batch是一个框架,旨在使用 JAVA它的主要目标是处理 繁琐的任务,如读取、过滤、解析和验证输入 让您专注于批处理业务 逻辑
Try,一个面向Java的轻量级ETL引擎。这个问题对于Stack Overflow这样的网站来说太广泛了。除了不明确(总共有多少条记录?需要什么类型的吞吐量?正在进行什么类型的转换),这是在寻求高级设计建议,而不是帮助解决特定的编程问题。是的,我同意这是广泛的。但我不同意这是不明确的。你真的想让我指定总共有多少条记录?数量级?当然一次一百万条记录和每小时数亿条记录之间有一个重要的区别。好吧,因为这是一个批处理环境,可用于未来的客户,让我们假设每天的记录量可能高达5亿条,每月的记录量可能低至1000条这听起来真的很有趣。。。我需要先了解Spring框架才能使用它吗?@hashbrown您一定很想了解核心框架的基本工作原理。你可能无论如何都想知道它;我将它用于任何非玩具Java应用程序。。。但是你认为学习这些框架值得吗?我觉得学习spring模块的每一次努力都是值得的。如果您没有学习,您将不得不实现类似的处理设计。学习spring将帮助您在将来利用现成的代码,而不是“重新发明轮子”。FWIW我向那些事先不了解spring的人推荐EasyBatch,spring Batch的学习曲线很陡峭。@hashbrown,@whitfin:Hi,我计划在我们的一个实现中也使用easy Batch。只是想知道您对它的体验,以及它在实现中的可伸缩性。谢谢