gpt4 book ai didi

java - 用Java构建大批量批量数据处理工具

转载 作者:行者123 更新时间:2023-12-03 05:05:54 24 4
gpt4 key购买 nike

我正在尝试使用 Java 构建 ETL 工具。 ETL 工具用于对大量数据(关系数据和其他类型)执行批量读取、写入、更新操作。我发现很难选择正确的框架/工具来完成这项任务。

简化的典型用例:

  1. 建立与数据库的连接(源)
  2. 读取连接两个表的 100 万条记录
  3. 与另一个数据库(目标)建立连接
  4. 在目标数据库中更新/写入这 100 万条记录

我的选择:

  1. 使用普通 JDBC。使用 JDBC 构建更高级别的 API 来完成连接数据库、从数据库读取数据以及从数据库写入数据的任务。

  2. 使用 Spring 或 Hibernate 等框架。我从来没有使用过这些框架。我认为 Hibernate 是为了 ORM 目的,但我的不是 ORM 类型的要求。 Spring 可能有一些批处理功能,但我想知道学习这些的努力是否实际上比我的选项 1 中自己做的要少。

  3. 还有其他选项/框架吗?

以上哪一项最适合我?

注意事项

  1. 我需要选择一个能够为我提供高水平性能的选项。我不介意复杂性或为了更高的性能而失去灵 active 。
  2. 我还不了解 Spring 等任何框架。我只了解核心 Java。

最近,我做了很多谷歌搜索,但如果您能为我提供一些“第一手”意见,我将不胜感激。

最佳答案

根据您的使用场景我会推荐Spring Batch 。它非常容易学习和实现。从高层次来看,它包含以下 3 个重要组成部分。

  1. ItemReader:该组件用于从源读取批量数据。您已准备好使用 JDBCITeamReader、HibernateItemReader 等实现。
  2. 项目处理器:该组件用于编写JAVA代码,该代码将在需要时进行一些处理。如果不需要处理,可以跳过。
  3. Item Writer:该组件用于批量将数据写入目标。即使对于此组件,您也已准备好使用类似于 ItemReader 的实现。

关于java - 用Java构建大批量批量数据处理工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27372819/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com