gpt4 book ai didi

java - 路易吉 vs Spring 批处理

转载 作者:行者123 更新时间:2023-12-02 10:07:08 26 4
gpt4 key购买 nike

我必须将 txt 文件加载到 oracle 表中。如今,该过程是使用 bash 脚本、sql 加载器和命令行工具进行验证来完成的。

我正在尝试寻找更强大的替代方案。我提出的两个选项是 Luigi(Python 框架)和 Spring Batch。

我使用 Spring Batch 做了一个小 POC,但我相信它有很多样板代码,可能有点矫枉过正。与 Java 相比,我更喜欢 Python。 Batch 的优点是随框架开箱即用的作业跟踪架构。

文件包含 200k 到 1kk 条记录。不执行任何转换,仅进行数据类型和长度验证。该作业的第一步包括检查 header 、标尾、一些日期、查询参数表并截断临时表。

您能给我一些针对此用例的每个框架的优缺点吗?

最佳答案

我认为它们不是等效的技术。 Luigi 更多的是一个工作流/流程管理框架,可以帮助组织和编排许多不同的批处理作业

The purpose of Luigi is to address all the plumbing typically associated with long-running batch processes. You want to chain many tasks, automate them, and failures will happen. These tasks can be anything, but are typically long running things like Hadoop jobs, dumping data to/from databases, running machine learning algorithms, or anything else. https://luigi.readthedocs.io/en/stable/

Spring Batch 为您提供了一个可重用的框架来构建批处理作业。它为您提供了很多开箱即用的功能,例如能够从文本文件读取输入并将输出写入数据库。

A lightweight, comprehensive batch framework designed to enable the development of robust batch applications vital for the daily operations of enterprise systems.

Spring Batch provides reusable functions that are essential in processing large volumes of records, including logging/tracing, transaction management, job processing statistics, job restart, skip, and resource management https://spring.io/projects/spring-batch

理论上,您可以使用 Luigi 运行 Spring Batch 作业。

根据您的用例的简要描述,这听起来像是最初激发 Spring Batch 的基础。事实上,他们的 15 分钟演示应用程序涵盖了从文件读取并将记录加载到 JDBC 数据库的用例 https://spring.io/guides/gs/batch-processing/ .

关于java - 路易吉 vs Spring 批处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55273282/

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