홈>
로그 파일을 줄이는 nifi 프로세서 (executeScript 프로세서) 내부에 코드 논리가 있습니다 (이 경우 내 로그 파일에는 동일한 텍스트가 있으므로 중복을 제거하고 이름과 파일 크기별로 선택하려고합니다). 하지만 때로는 (항상 그런 것은 아님) 음수 색인 오류가 발생했습니다.작동하도록 코드에서 무엇을 변경해야하나요?
import org.apache.nifi.processor.FlowFileFilter;
import groovy.json.JsonSlurper
import groovy.json.JsonBuilder
import java.nio.charset.StandardCharsets
import org.apache.commons.io.IOUtils
def flowFile = session.get();
def n=0;
if(!flowFile)return
def size = flowFile.getAttribute('Size');
int value = size as Integer;
if((value/338)>=1){
def ffList = session.get(new FlowFileFilter(){
public FlowFileFilterResult filter(FlowFile ff) {
if( size == ff.getAttribute('Size') ){ n++; return FlowFileFilterResult.ACCEPT_AND_CONTINUE;}
else{ return FlowFileFilterResult.REJECT_AND_CONTINUE; }
}
});
session.transfer(ffList[n-1],REL_SUCCESS);
session.remove( ffList[0..-2] )
session.remove(flowFile);
}
else{
session.transfer(flowFile,REL_SUCCESS);
}
- 답변 # 1
관련 자료
- python - "valueerror - index must be monotonic"오류가 발생합니다
- python - 다중 인덱스 데이터 프레임에서 반복되는 인덱스가있는 행 제거
- groovy - 문자열 끝에서 특정 문자 제거
- Maven 컴파일 중에 Groovy에 대한 오류를 어떻게 처리 할 수 있습니까?
- c++ - 여기 81 행에는 클래스를 변경하여 제거해야하는 오류가 있습니다
- python - 다중 인덱스 데이터 프레임에서 인덱스 열을 제거하는 방법
- statistics - 의미를 만들려고 할 때 Python 색인 오류
- python - 색인을 기반으로 목록의 일부를 제거하는 방법
- closedxml - C #의 범위를 벗어난 인덱스 오류, "0 열을 찾을 수 없음"
- c# - 인덱스가 범위를 벗어났습니다 하지만 내가 excecute하면 itemcount ()가 1을 반환합니다
- kibana - Elasticsearch에 인덱스 템플릿을 적용하려고 할 때 권한 부여 오류
- ruby on rails - 활성 관리 다 대다 표시 인덱스 pg - : undefinedcolumn : error : column casesproduct_id does not exist
- python - 배열에서 특정 범위의 좌표 또는 인덱스를 제거하는 방법은 무엇입니까?
- python - 수학 영역 오류가 발생하지만 음수 값 때문이 아닙니다
- 파이썬에서 배열의 항목을 찾기 위해 인덱스 사용 오류
- traversal - 배열에서 최소 요소의 인덱스를 찾는 Java 코드 오류
- arrays - cs50 pset4 에지 코딩 - 'rgbtriple [너비]'유형에 대한 색인 601이 경계를 벗어난 오류
- 파이썬 목록에서 요소를 인쇄 할 때 범위를 벗어난 오류 목록 색인 가져 오기
- flutter - TextFormField에서 오류 텍스트 위의 여백을 어떻게 제거합니까?
관련 질문
- groovy가있는 nifi executescript - orgcodehausgroovycontrolmultiplecompilationerrorsexception : 시작 실패 :
- java - Infinispan 캐시에서 읽기는 무한 루프로 진행됩니다
- groovy - PDF에서 텍스트로 NiFi 추출
- Groovy 스크립트를 실행하여 Nifi에서 날짜를 변환
- groovy - NiFi에서 이전 프로세서의 이름을 캡처
- groovy - InvokeScriptedProcessor에서"DBCPConnectionPoolLookup"을 사용하는 방법은 무엇입니까?
요소에 액세스하기 전에 목록의 크기를 확인해야한다고 생각합니다.