1

我需要使用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

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

有什么办法可以做到吗?

4

2 回答 2

3

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

于 2013-01-15T20:42:12.940 回答
0

您可以创建一个与 ItemReader 和 ItemWriter 关联的步骤。大文件是流式传输的,而不是作为一个整体读取的。所以,这应该有魔力。

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

于 2013-01-15T19:22:51.887 回答