반응형
NiFi에서 제공하는 Groovy Script는 자바 호환이 거의 되므로 자바 코드로 작성하여도 잘 돌아감
- Create ExecuteScript Processor
- PROPERTIES > Select Groovy > Write Script Body
- Script Contents
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
//attribute의 날짜(yyyymmdd) 기준부터 -30일까지 추출
flowFile = session.get();
if(!flowFile) return;
dt = flowFile.getAttribute('dt');
session.transfer(flowFile, REL_SUCCESS);
for(int i=0; i<31; i++){
DateFormat dateFormat = null;
Date date = new Date();
try {
dateFormat = new SimpleDateFormat("yyyyMMdd");
date = dateFormat.parse(part_dt);
}catch(Exception e){
System.out.println(e.getMessage());
}
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.DATE, -i);
dt = dateFormat.format(cal.getTime());
flowFile = session.create();
newFlowFile = session.putAttribute(flowFile, 'dt', dt);
session.transfer(newFlowFile, REL_SUCCESS);
}