簡體   English   中英

如何設計我的流程 - 遍歷列表(不能使用簡單的 ListItemReader,因為列表不在根級別)+ 1 查詢每個項目 - spring 批處理

[英]How to design my process - loop over a list(cannot use simple ListItemReader because list not at root level) + 1 query for each item - spring batch

如果你們中的一些人可以幫助我設計我的 spring 批處理,那就太好了:DI 需要通過使用 REST API 來執行 ETL,然后存儲一些數據。 這個過程必須是每天的 & Spring Batch 似乎完美地實現了我想要的,因為我們已經在我工作的公司的很多東西上使用 Spring 框架。 但我正在努力設計我的工作(s?)/tasklet 等。

你能幫我設計什么是最合適的方式來做我想做的事嗎?

我需要做的總結:

  1. 使用所有項目的摘要列表
  2. 循環遍歷這些項目以檢索HREF字段
  3. 查詢每個HREF
  4. 插入DB(只有我需要的數據,90%的數據對我沒用)

我想知道如何將這些步驟轉換為 spring 批處理方式。 我應該創建 1 個 tasklet + 1 個塊作業,主列表的 tasklet + 然后將 href 寫入本地文件和從本地文件讀取的作業 + 寫入 db? (只有大約 10k 個項目,所以本地文件就可以了)我是否應該只創建 1 個 tasklet,讓讀者同時執行查詢摘要 + 每個單獨的端點? 哪一個會是最有表現力的? 我不需要最大化性能,我是 Spring 批次的新手,我想知道如何設計處理:)
謝謝 !!


編輯:我不能使用簡單列表,因為該列表不在根級別,而是在根級別的“數據”屬性中。 另外,通過“查詢每個HREF ”,我的意思是使用 HREF 值執行 API 調用,該值是指向我必須查詢的單個項目數據的端點的鏈接,因為我需要的數據不存在於 API 給出的第一個列表中

如何設計我的流程 - 遍歷列表 + 每個項目 1 個查詢 - spring 批處理

您可以按如下方式創建面向塊的步驟:

  • 從列表中返回項目的項目閱讀器( ListItemReader可能工作)
  • 使用HREF字段豐富項目的項目處理器
  • 用於在數據庫中插入項目的JdbcBatchItemWriter

這是一種常見模式,並在此處記錄: Driving Query Based ItemReaders 也就是說,這種模式適用於小型/中型數據集,但不適用於大型數據集,因為它需要對每個項目進行一個或多個查詢。 以下線程可能對此事有所幫助:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM