【问题标题】:Can we have multiple readers(reading records through pagination) in a single batch job我们可以在一个批处理作业中拥有多个阅读器(通过分页读取记录)吗
【发布时间】:2020-09-21 15:12:26
【问题描述】:

我有一个春季批处理作业要写。 哪里:

  1. 我需要通过分页读取 10k 条记录(一次获取 1000 条记录)(来自 azure SQL db)
  2. 我需要一次使用 1000 条记录,然后使用这些记录的一列(比如一些 id)从另一个 cosmos db 表中读取相应的记录。

在这种情况下,我如何实现 2 个读取器,因为我需要一次读取 1000 条记录,并首先从 cosmos db 中获取这 1000 条记录的记录并进行处理。

【问题讨论】:

    标签: azure spring-boot azure-sql-database spring-batch azure-cosmosdb


    【解决方案1】:

    有一种称为 "driving query pattern" 的常见模式,其中读取器仅读取项目 ID,而处理器执行另一个查询以获取项目详细信息。

    此模式适用于中小型数据集,但您应该注意,它不适用于大型数据集,因为每个项目都会有一个额外的查询(也称为 n+1 问题)。

    【讨论】:

      猜你喜欢
      • 2021-05-06
      • 1970-01-01
      • 2021-04-19
      • 2014-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多