繁体   English   中英

Spring集成大文件

[英]Spring integration for large file

我需要使用spring集成在大型数据包上执行ETL操作。 例如,我有一个巨大的xml文件,如:

<school>
    <cource name="A">
        <class>
            <name>A1</name>
            <students>20</students>
        </class>
        ...
        <class>
            <name>A35</name>
            <students>19</students>
        </class>
    </cource>
    <cource>
    ...
    </cource>
</school>

结果应该是2个cvs文件:

第一:

A1;20
...
A35;35

第二:

A; 754
..
C; 232

这是简单的转换操作和容器上的一些聚合功能。 “class”和“cource”记录的数量真的很大,我无法在内存中解析输入数据(所以我需要按元素迭代),但我仍然不想使用集成模式来轻松修改ETL流。

我有什么办法可以做到这一点?

您可以使用Spring Integration检测文件的存在并启动Spring Batch作业(使用spring-batch-admin提供的spring-batch-integration项目中提供的JobLaunchingMessageHandler )。

您可以使用与其关联的ItemReader和ItemWriter创建一个步骤。 流式传输大文件,而不是整体读取。 所以,这应该是神奇的。

更多阅读在这里 这里的例子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM