因為呼叫第三方介面,傳入的引數有數量的限制要求。所以需要對傳入的引數進行數量上的處理。附上方法**:
/*** 通過sublist來處理
* * 2023年10月27日上午2:06:24
* @param sourlist準備處理的資料list* @param batchcount準備以多少數目去處理,比如20,就是20一批處理
* @parameter
* void**/
public static void dealbysublist(listsourlist, int batchcount)else
for(int i=0;itemplist = new arraylist(sourlist.sublist(startindext, stopindext));
printlist(templist);
startindext = startindext + batchcount;
stopindext = stopindext + batchcount;
if(i == subcount-2 && stopindext != sourlistsize)}}
測試**:
public static void main(string args)
long start = system.nanotime();
dealbysublist(list, 20);
long end = system.nanotime();
system.out.println("the elapsed time :" + (end-start));
}sourlist和batchcount的關係:
1,sourlist = batchcount
2,sourlist > batchcount
3,sourlist < batchcount
經過測試:執行沒有問題,對這個方法修改就能變成自己需要的方法,本質上是分頁的思想。
分批次同步資料
背景 需要將9億保單資料同步到hive中,但由於oracle併發限制,一晚上每天只能2億左右 解決方法 1.首先有乙個增量同步程式,通過update date同步每天的增量資料 2.初始化歷史資料,通過顯示update date的時間範圍,將每個月的資料量作為乙個批次同步 每晚可以同步很多個批次 設...
pytorch使用Dataset分批次處理資料
import torch import numpy as np from torch.utils.data import dataset from torch.utils.data import dataloader import matplotlib.pyplot as plt prepare d...
airflow延時啟動 sqoop分批次匯出
1 airflow上的task1依賴於task2,如何讓task1在task2完成後45分鐘啟動?背景 task1是個sqoop匯入任務,task2是個sqoop匯出任務,匯出會導致mysql主從延遲,這裡設定了延時45分鐘啟動task1來解決這個問題,具體時間可根據實際情況調整。default a...