小编Jor*_*lva的帖子

Java ETL过程

我有一个新的挑战是从Oracle数据库加载~100M行并将它们插入远程MySQL数据库服务器.

我把问题分成两部分:

  1. 服务器端REST服务器,负责将数据加载到MySQL服务器;
  2. 负责加载Oracle数据源的客户端Java应用程序.

在Java端,我使用普通JDBC来加载分页内容并通过线路将其传输到服务器.这种方法运行良好,但它使代码繁琐且不易扩展,因为我正在使用Oracle的ROWNUM ..... WHERE ROWNUM> x和ROWNUM <y进行分页.

我现在尝试了Hibernate的StatelessSession,我的实体通过Annotations映射.代码更具可读性和清晰性,但性能更差.

我听说过ETL工具和SpringBatch,但我对它们并不了解.还有其他方法可以解决这个问题吗?

提前致谢.

UPDATE

感谢您提供宝贵的建议.我选择使用SpringBatch从Oracle数据库加载数据,因为环境非常紧张,我无法访问Oracle的工具集.SpringBatch是真实的.对于数据写入步骤,我选择使用MySQL的LOAD DATA INFILE编写大量的记录.REST服务位于中间,因为出于安全原因它们彼此隐藏.

java etl hibernate jdbc

0
推荐指数
1
解决办法
3783
查看次数

标签 统计

etl ×1

hibernate ×1

java ×1

jdbc ×1